我的浏览器可以访问一个网页,但是 urllib2.urlopen()
(Python)并且wget
都返回 HTTP 403(禁止)。有没有办法弄清楚发生了什么?
我使用最原始的形式,例如urllib2.urlopen("http://test.com/test.php")
,对浏览器和wget
. 在测试之前,我已经清除了浏览器中的所有 cookie。
非常感谢!
我的浏览器可以访问一个网页,但是 urllib2.urlopen()
(Python)并且wget
都返回 HTTP 403(禁止)。有没有办法弄清楚发生了什么?
我使用最原始的形式,例如urllib2.urlopen("http://test.com/test.php")
,对浏览器和wget
. 在测试之前,我已经清除了浏览器中的所有 cookie。
非常感谢!
Python 库 urllib 有一个默认的用户代理字符串,其中包含 Python 一词,而 wget 使用“wget/VERSION”。如果您正在连接的站点检查用户代理信息,它可能会拒绝这两个。例如,谷歌就会这样做。
修复起来很容易.. 对于 wget,使用 -U 参数,对于 urllib,使用适当的字符串创建 URLOpener。
有些网站不允许网页抓取。尝试使用Python requests。
这个库应该可以工作。