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