DB_JOB/작업파일/공공기관2/6.한국중부발전/_temp_probe1.py
hehihoho3 df16c98366 백업: DB수집 전체 스냅샷 (공공기관2 정리 전)
공공기관2 작업 중. _temp 몽타주(재생성가능)는 제외.

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

37 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
import urllib.request, ssl, re
from bs4 import BeautifulSoup
ctx=ssl.create_default_context(); ctx.check_hostname=False; ctx.verify_mode=ssl.CERT_NONE
HDR={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/124 Safari/537.36'}
def fetch(u):
return urllib.request.urlopen(urllib.request.Request(u,headers=HDR),timeout=20,context=ctx).read()
# content page (상징)
for u in ['https://www.komipo.co.kr/kor/content/50/main.do?mnCd=FN02010802',
'https://www.komipo.co.kr/kor/content/559/main.do?mnCd=FN01200102']:
html=fetch(u); soup=BeautifulSoup(html,'html.parser')
print('=== ',u)
# find main content container candidates
for sel in ['div.contents','div.contentsArea','div.content','div.sub_content','div.contents_inner','#contents','div.txt','div.board_view','article']:
el=soup.select_one(sel)
if el:
imgs=el.find_all('img')
print(f' container {sel}: imgs={len(imgs)}')
# 공공누리 mark
kogl=re.findall(r'open(?:type|code)0*\d', html.decode('utf-8','ignore'))
print(' kogl marks:', set(kogl))
# all imgs with src
allim=soup.find_all('img')
print(' total imgs', len(allim))
for im in allim[:25]:
src=im.get('src','');alt=im.get('alt','')
print(' img', src[:60],'| alt=',alt[:30])
# board page (회의록 다운로드 BRD_000001)
ub='https://www.komipo.co.kr/kor/board/BRD_000001/boardMain.do?mnCd=FN02170203'
html=fetch(ub); txt=html.decode('utf-8','ignore')
print('=== board', ub)
for pat in [r'Total\s*[:]?\s*([\d,]+)', r'전체\s*([\d,]+)', r'\s*([\d,]+)\s*건', r'게시물.*?([\d,]+)']:
m=re.search(pat,txt)
print(' pat',pat,'->',m.group(0) if m else None)