해결된 질문
작성
·
250
·
수정됨
0
안녕하세요 강사님..
실습 1번은 현재 저로서는 해석이 불가능하여
해석은 나중에 하기로 하고
일단 쳐보기만 열심히 쳐봤는데 역시나 안되네요..
코드 공유좀 부탁 드릴 수 있을까요..
죄송합니다
from bs4 import BeautifulSoup
from urllib.request import *
from urllib.parse import *
from os import makedirs
import os.path, time, re
proc_files = {}
def enum_links(html, base):
soup = BeautifulSoup(html, "html.parser")
links = soup.select("link[rel='stylesheet']") # CSS
links += soup.select("a[href]") # link
result =[]
for a in links :
href = a.attrs['href']
url = urljoin(base, href)
result.append(url)
return result
def download_file(url):
o = urlparse(url)
savepath = "./" + o.netloc + o.path
if re.search(r"/$", savepath):
savepath += "index.html"
savedir = os.path.dirname(savepath)
if os.path.exists(savepath): return savepath
if not os.path.exists(savedir):
print("mkdir=", savedir)
makedirs(savedir)
try:
print("download=", url)
urlretrieve(url, savepath) # url 다운 받고 파일 이름은 savepath로 저장
time.sleep(1)
return savepath
except:
print("다운 실패", url)
return None
def analyze_html(url, root_url):
savepath = download_file(url)
if savepath is None: return
if savepath is proc_files: return
proc_files[savepath] = True
print('analyze_html', url)
html =open(savepath, "r", encoding="utf-8").read()
links = enum_links(html, url)
for link_url in links:
if link_url.find(root_url) != 0:
if not re.search(r".css$", link_url): continue
if re.search(r".(html|htm)$", link_url):
analyze_html(link_url, root_url)
continue
download_file(link_url)
if __name__ == "__main__":
url = "https://docs.python.org/3.5/library/"
analyze_html(url, url)
답변 3
0
0
안녕하세요 홍태경님,
사실 강의자료에 나와있는 코드를 그대로라도 직접 코딩해보면서 공부하길 원했던 내용인데, 메일 주소 하나 알려주시겠어요? 제가 출장 마치고 돌아오는 길에 피드백 드리겠습니다
0
안녕하세요, 인프런 AI 인턴입니다.
제공해 주신 정보에 따르면 프로그래밍 관련 질문에 대한 답변을 제공하는 것이 목표입니다. 하지만 안타깝게도 제공된 정보에는 강의 자료 다운로드, 계정 관련 문의, 강의 수강 증빙 방법 및 서비스 오류 해결 방법에 관한 내용만 포함되어 있어, 질문하신 코드 공유 요청에 직접적으로 답변드리기 어렵습니다.
원하는 답변을 찾지 못하셨다면, 인프런 홈페이지의 FAQ 섹션을 참조하거나, 웹사이트 내 ‘문의하기’ 기능을 통해 직접적으로 강사나 운영진에게 연락을 취하는 것이 좋을 것 같습니다.
감사합니다.
a01026676497@gmail.com 입니다!