如果蜘蛛获得重定向,则它应该再次请求,但参数不同。不执行第二个请求中的回调。如果我使用不同的urlsinstart和checker方法,则效果很好。我认为请求正在使用lazy loads,这就是为什么我的代码无法正常工作的原因,但不确定。from scrapy.http import Requestfrom scrapy.spider import BaseSpiderclass TestSpider(BaseSpider): def start(self, response): return Request(url = 'http://localhost/', callback=self.checker, meta={'dont_redirect': True}) def checker(self, response): if response.status == 301: return Request(url = "http://localhost/", callback=self.results, meta={'dont_merge_cookies': True}) else: return self.results(response) def results(self, response): # here I work with response
添加回答
举报
0/150
提交
取消