1

我的浏览器可以访问一个网页,但是 urllib2.urlopen()(Python)并且wget都返回 HTTP 403(禁止)。有没有办法弄清楚发生了什么?

我使用最原始的形式,例如urllib2.urlopen("http://test.com/test.php"),对浏览器和wget. 在测试之前,我已经清除了浏览器中的所有 cookie。

非常感谢!

4

2 回答 2

2

Python 库 urllib 有一个默认的用户代理字符串,其中包含 Python 一词,而 wget 使用“wget/VERSION”。如果您正在连接的站点检查用户代理信息,它可能会拒绝这两个。例如,谷歌就会这样做。

修复起来很容易.. 对于 wget,使用 -U 参数,对于 urllib,使用适当的字符串创建 URLOpener。

于 2012-12-03T14:16:37.870 回答
0

有些网站不允许网页抓取。尝试使用Python requests

这个库应该可以工作。

于 2012-12-03T06:36:04.637 回答