Python 使用urllib2获取internet资源,获取http 402错误
我尝试使用urllib2从字幕网站获取zip文件 示例网站是,我尝试下载此文件 我在脚本中测试并打印url。url很好。我复制并粘贴到网络浏览器中,我可以成功下载它 起初,脚本是这样的:Python 使用urllib2获取internet资源,获取http 402错误,python,http,urllib2,Python,Http,Urllib2,我尝试使用urllib2从字幕网站获取zip文件 示例网站是,我尝试下载此文件 我在脚本中测试并打印url。url很好。我复制并粘贴到网络浏览器中,我可以成功下载它 起初,脚本是这样的: try: f = urllib2.urlopen(example_url) f.read() something... except URLError, e: print e.code 但我得到了403错误码。搜索之后,我尝试将标
try:
f = urllib2.urlopen(example_url)
f.read()
something...
except URLError, e:
print e.code
但我得到了403错误码。搜索之后,我尝试将标题更改为{'User-Agent':'Mozilla/5.0'}。代码已更改为:
try:
req = urllib2.Request(example_url,headers={'User-Agent': 'Mozilla/5.0'})
f = urllib2.urlopen(req)
something...
except URLError, e:
print e.code
然后我得到了402个错误。我想知道这是因为网站设置还是因为我的代码中有错误?402表示请求目前无效 这是留作将来使用的 发件人: 402需要付款 保留供将来使用。最初的意图是,该代码可能被用作某种形式的数字现金或小额支付方案的一部分,但这并没有发生,而且该代码通常不被使用。如果某个特定IP地址发出过多请求,并且要求此人输入验证码,YouTube将使用此状态 因此,可能涉及导致问题的验证码 请检查Robots.txt文件中的站点:
www.domain\u name.com/Robots.txt
我会尝试使用:
urllib.urlretrieve(url, outname)
因为您试图下载文件而不是打开它。谢谢您的回答。但我并没有提出过分的要求。我只要求一次。如果我在浏览器中使用此url,它可以正常工作。这是为什么?如果你甚至用一个标题试图混淆这个网站,这对我来说毫无意义。否则我会说该网站可能不允许自动非浏览器下载。查看robots.txt网站?robots.txt上写着:Sitemap:User-agent:Googlebot-Disallow:/sub/static-Disallow:/User/tpl-Disallow:/imgdb-Disallow:/software-discuz-Disallow:/splayer显然所有机器人都被禁止,这就是你的问题所在。