【发布时间】:2017-05-30 14:59:27
【问题描述】:
我尝试从古腾堡项目中打开一个页面以使用 BeautifulSoup 进行编辑
import urllib2
from bs4 import BeautifulSoup
url = "http://www.gutenberg.org/files/54801/54801-h/54801-h.htm"
page = urllib2.urlopen(url)
soup_packtpage=BeautifulSoup(page)
print(soup_packtpage)
我在 cloud9 工作。我有以下错误:
Traceback (most recent call last):
File "soup.py", line 5, in <module>
page = urllib2.urlopen(url)
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
怎么了?
【问题讨论】:
-
这是一个 HTTP 错误,而不是 python 错误。意思是你不能提出这个要求。可能缺少标头,例如 cookie 或 API 凭据
-
我无法重现此问题。我得到一个巨大的打印输出。
-
你得到 403 因为它需要设置 cookie。在我第一次尝试时,它把我带到了 ~welcome_stranger 页面,然后在第二次尝试请求成功。这是你看到的吗?
标签: python beautifulsoup urllib2