python爬虫通过header伪装后依旧403ERROR

req=urllib.request.Request(url)req.add_header('User-Agent',’此处为user-agent‘)response=u... req = urllib.request.Request(url)
req.add_header('User-Agent',’此处为user-agent‘)
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')
这是我的伪装代码 uesr-agent比较长就不复制了..
是一个抓取网页图片的小爬虫,,第一次运行抓了七张图就没下文了 第二次运行抓了3张图然后报错403 ERROR 第三次运行直接报错403 ERROR 新手实在找不出原因..求各位指教
展开
 我来答
kaisa1028
2015-08-10 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5429
采纳率:28%
帮助的人:2581万
展开全部
403是说的服务器处理你的请求了,但是决定你没资格获得你请求的资源。
如果是像你说的这样一开始有成功的,后来的请求是403的话,也有可能是服务器那边有throttling,你可以试试发完一个请求之后,等一段时间,然后再发下一个请求。
追问
那是不是添加一个sleep函数?应该添加什么位置呢?
代码是把所有图片的地址存在一个列表里 然后把列表传给保存图片的函数 我在保存图片的for循环中加了一个sleep不过还是403.。。。
追答
如果是服务器程序有throttling的话,那就的看服务器具体是怎么设定的了。就像是很多论坛都有“您访问本站速度过快”那种,他要是不告诉你,你自己是不知道他设的多少秒算快的。还有就是如果你那个“保存图片”是说的把图片下载到本地的话,他有可能把这个也算在throttling控制的范围以内。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式