python爬虫post后重定向_python爬虫丨重定向问题

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于腾讯云,作者:周小董

重定向问题

在使用python爬虫的过程中难免会遇到很多301,302的问题。他们出现时,很大程度的影响到我们的爬虫速度和信息的准确性。下面针对不同的模块给出不同的解决方案。

使用requests模块爬虫

使用requests模块遇到301和302问题时,

如果是用requests,那就在参数里面关闭重定向。

>>> r = requests.get('http://github.com', allow_redirects=False)

allow_redirects=False#设置这个属性为False则是不允许重定向,反之可以重定向

如果使用的scrapy,那就在在设置里添加禁止重定向。

REDIRECT_ENABLED

REDIRECT_MAX_TIMES

使用scrapy模块进行爬虫的时候遇到301很302问题。

yield scrapy.Request(url,meta={

'title':tit,

'describe':describ,

'home_url':home_url,

'number':number

},callback=self.parse_item, dont_filter=True)

这是在yield里面加上dont_filter=True,解决了这个问题,dont_filter的意思是,如果已经爬取过得url,也就是没有出现问题的url,自然而然出现问题的url将会再次被传递,这样也就解决了重定向问题。

你可能感兴趣的:(python爬虫post后重定向_python爬虫丨重定向问题)