码迷,mamicode.com
首页 > 编程语言 > 详细

python爬虫的重定向问题

时间:2018-05-15 00:24:49      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:信息   als   led   red   com   des   过程   get   属性   

重定向问题

在使用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爬虫的重定向问题

标签:信息   als   led   red   com   des   过程   get   属性   

原文地址:https://www.cnblogs.com/zhouxinfei/p/9038520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!