在使用scrapy爬取网站数据的时候遇到了302重定向问题,可以在Request中添加meta参数。
yield scrapy.Request(url, callback=self.parse, meta={'dont_redirect': True, 'handle_httpstatus_list': [302]})
'dont_redirect’是禁止重定向。
'handle_httpstatus_list’是scrapy可以处理的响应状态码。
因为scrapy默认只能处理状态码在200-300之间的响应,其他的响应会被过滤掉,所以要有’handle_httpstatus_list’这个键。也可以在settings中设置HTTPERROR_ALLOWED_CODES = [302]
。