python爬虫的重定向问题
Posted zhouxinfei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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爬虫的重定向问题的主要内容,如果未能解决你的问题,请参考以下文章