我正在尝试使用 urllib2 和 BeautifulSoup 抓取网页。它工作正常,然后当我在input()
代码的不同部分中尝试调试某些东西时,我得到了一个 HTTPError。当我再次尝试运行我的程序时,尝试调用 read() 时出现 HTTPError。错误堆栈如下:
[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
有谁知道我为什么开始收到这个错误?谢谢!