해당 포스팅은 아래 링크의 예제를 직접 클론코딩 해보는 과정에서 발생한 오류를 해결하는 과정을 담은 글입니다.
090 웹 페이지를 저장하려면? ― urllib
urllib은 URL을 읽고 분석할 때 사용하는 모듈이다. ## 문제 브라우저로 위키독스의 특정 페이지를 읽으려면 다음과 같이 요청하면 된다. ```no-highlight …
wikidocs.net
위 글에서 나온 함수를 정의하고 이를 맨 아랫줄에서 호출하였더니 정상작동하였습니다.
import urllib.request
def get_wikidocs(page):
print("wikidocs page:{}".format(page)) # 페이지 호출시 출력
resource = 'https://wikidocs.net/{}'.format(page)
try:
with urllib.request.urlopen(resource) as s:
with open('wikidocs_%s.html' % page, 'wb') as f:
f.write(s.read())
print('success')
except urllib.error.HTTPError:
print('fail')
get_wikidocs(7)
그런데,, 저는 c언어를 주로 해왔던지라, 아래 그림의 부분이 살~짝? 낯설었는데요!
그래서 아래처럼 바꾸고,
다시 실행을 돌려보았더니,,
음ㅋㅋㅋㅋ 바로 뻗어버리네요ㅋㅎㅎ
여기서 중요한 부분은,
AttributeError: 'str' object has not attribute 'page' 인거 같습니다.
이걸 통해서 우리는 파이썬에서 대체 저 format()을 왜 써야하는지, 한번 짚고 넘어가야 할 것 같습니다.
format()에 대한 내용은 Grammer탭에서 정리하도록 하겠습니다!
댓글