如何在scrapy中的两个顺序请求中进行回调

如果蜘蛛获得重定向,则它应该再次请求,但参数不同。不执行第二个请求中的回调。


如果我使用不同的urlsinstart和checker方法,则效果很好。我认为请求正在使用lazy loads,这就是为什么我的代码无法正常工作的原因,但不确定。


from scrapy.http import Request

from scrapy.spider import BaseSpider


class 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


慕神8447489
浏览 216回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python