DB_JOB/작업파일/공공기관2/10.한국지역난방공사/_cmp2.py
hehihoho3 b0acd1e705 백업: 셀병합 정상화(D~J)+KDHC 옵션2/행높이17, 오늘(06-21) 제출 17곳 검수·압축
- 공공기관2/3 작업본 + 오늘 제출 17곳 D~J 카테고리 셀병합 정상화
- 한국지역난방공사 옵션2(고아셀 F98 수정)+전행 높이17
- 제출_프리랜서2_2026-06-21.zip 생성(17개 xlsx, 2,468행)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 13:21:26 +09:00

30 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
import urllib.request, ssl, hashlib, re, io
from bs4 import BeautifulSoup
ctx=ssl.create_default_context(); ctx.check_hostname=False; ctx.verify_mode=ssl.CERT_NONE
def body(u):
req=urllib.request.Request(u,headers={"User-Agent":"Mozilla/5.0"})
raw=urllib.request.urlopen(req,context=ctx,timeout=20).read()
soup=BeautifulSoup(raw,"html.parser")
# try common content containers
for sel in ["#content","#contents","#contens",".contents",".content",".sub_content","#container .cont"]:
el=soup.select_one(sel)
if el and len(el.get_text(strip=True))>30:
txt=re.sub(r'\s+',' ',el.get_text(" ",strip=True))
imgs=[i.get('src','') for i in el.find_all('img')]
return sel,txt,imgs
return "NONE","",[]
pairs=[
("신재생에너지","https://www.kdhc.co.kr/kdhc/main/contents.do?menuNo=200495","https://www.kdhc.co.kr/kdhc/main/contents.do?menuNo=200150"),
("환경친화설비","https://www.kdhc.co.kr/kdhc/main/contents.do?menuNo=200362","https://www.kdhc.co.kr/kdhc/main/contents.do?menuNo=200154"),
("조직도","https://www.kdhc.co.kr/kdhc/main/contents.do?menuNo=200246","https://www.kdhc.co.kr/kdhc/main/contents.do?menuNo=200319"),
]
out=io.open("_cmp2_out.txt","w",encoding="utf-8")
for nm,a,b in pairs:
sa,ta,ia=body(a); sb,tb,ib=body(b)
out.write(f"### {nm} BODY_SAME={ta==tb and ta!=''} (selA={sa} selB={sb})\n")
out.write(f" A[{len(ta)}]: {ta[:300]}\n")
out.write(f" B[{len(tb)}]: {tb[:300]}\n")
out.write(f" A imgs: {ia}\n B imgs: {ib}\n\n")
out.close(); print("done")