# -*- coding: utf-8 -*- import sys,io,urllib.request,ssl,re from bs4 import BeautifulSoup sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8') ctx=ssl.create_default_context(); ctx.check_hostname=False; ctx.verify_mode=ssl.CERT_NONE try: ctx.set_ciphers('DEFAULT@SECLEVEL=1') except: pass def get(u): req=urllib.request.Request(u,headers={'User-Agent':'Mozilla/5.0'}) return urllib.request.urlopen(req,timeout=25,context=ctx).read().decode('utf-8','ignore') def show(nm,u,sel): try: h=get(u) except Exception as e: print(nm,'실패',e); return s=BeautifulSoup(h,'html.parser') el=s.select_one(sel) print('=== %s (%s) ==='%(nm,sel)) if el: print(re.sub(r'\s+',' ',str(el))[:1100]) else: print('셀렉터 없음') show('단양','https://www.danyang.go.kr/dy21/98','ul#menu_sitemap') show('증평','https://www.jp.go.kr/kor/sitemap_11.do','ul.depth1_ul') show('진천','https://www.jincheon.go.kr/home/sub.do?menukey=445','div.sitemap')