urllib2와 BeautifulSoup를 사용하여 웹 페이지를 긁어 내려고했습니다. 그것은 잘 작동했다 그리고 뭔가를 시도하고 디버깅하려면 내 코드의 다른 부분에 input()
넣을 때 HTTPError 있어요. 프로그램을 다시 실행하려고하면 read()를 호출 할 때 HTTPError가 발생합니다. 여기urllib2를 사용할 때 HTTPError가 발생했습니다. read()
[2013-07-17 16:47:07,415: ERROR/MainProcess] Task program.tasks.testTask[460db7cf-ff58-4a51-9c0f-749affc66abb] raised exception: IOError()
16:47:07 celeryd.1 | Traceback (most recent call last):
16:47:07 celeryd.1 | File "/Users/username/folder/server2/venv/lib/python2.7/site-packages/celery/execute/trace.py", line 181, in trace_task
16:47:07 celeryd.1 | R = retval = fun(*args, **kwargs)
16:47:07 celeryd.1 | File "/Users/username/folder/server2/program/tasks.py", line 193, in run
16:47:07 celeryd.1 | self.get_top_itunes_game_by_genre(genre)
16:47:07 celeryd.1 | File "/Users/username/folder/server2/program/tasks.py", line 244, in get_top_itunes_game_by_genre
16:47:07 celeryd.1 | game_page = BeautifulSoup(urllib2.urlopen(game_url).read())
16:47:07 celeryd.1 | File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 126, in urlopen
16:47:07 celeryd.1 | return _opener.open(url, data, timeout)
16:47:07 celeryd.1 | File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 400, in open
16:47:07 celeryd.1 | response = meth(req, response)
16:47:07 celeryd.1 | File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 513, in http_response
16:47:07 celeryd.1 | 'http', request, response, code, msg, hdrs)
16:47:07 celeryd.1 | File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 438, in error
16:47:07 celeryd.1 | return self._call_chain(*args)
16:47:07 celeryd.1 | File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 372, in _call_chain
16:47:07 celeryd.1 | result = func(*args)
16:47:07 celeryd.1 | File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 521, in http_error_default
16:47:07 celeryd.1 | raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
16:47:07 celeryd.1 | HTTPError
코드입니다 : 오류 스택은 다음과 같습니다
for game_url in urls:
game_page = BeautifulSoup(urllib2.urlopen(game_url).read())
# code to process page
나는이 오류를 받기 시작하는 이유
사람이 알고 있나요? 감사!
일반적으로 네트워크 수준 또는 서버 측에서 오류가 발생하면'HTTPError'가 반환됩니다. 브라우저에서 여는 URL을 열어보고 브라우저에서 작동하는지 확인하십시오. – Amber
urllib2는 조만간 (아마도 40 배 응답) 약간의 오류를 던질 것이므로 아마도 잡을 준비가되어 있어야합니다. – roippi
은 페이지가 일부 이유로로드되지 않는 것처럼 보이는데 이는 문제입니다. – user1998511