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 新手实在找不出原因..求各位指教 展开
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 新手实在找不出原因..求各位指教 展开
展开全部
403是说的服务器处理你的请求了,但是决定你没资格获得你请求的资源。
如果是像你说的这样一开始有成功的,后来的请求是403的话,也有可能是服务器那边有throttling,你可以试试发完一个请求之后,等一段时间,然后再发下一个请求。
如果是像你说的这样一开始有成功的,后来的请求是403的话,也有可能是服务器那边有throttling,你可以试试发完一个请求之后,等一段时间,然后再发下一个请求。
追问
那是不是添加一个sleep函数?应该添加什么位置呢?
代码是把所有图片的地址存在一个列表里 然后把列表传给保存图片的函数 我在保存图片的for循环中加了一个sleep不过还是403.。。。
追答
如果是服务器程序有throttling的话,那就的看服务器具体是怎么设定的了。就像是很多论坛都有“您访问本站速度过快”那种,他要是不告诉你,你自己是不知道他设的多少秒算快的。还有就是如果你那个“保存图片”是说的把图片下载到本地的话,他有可能把这个也算在throttling控制的范围以内。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询