Scrapy自定义功能无法触发scrapy.Requests

时间:2019-03-29 12:17:40

标签: scrapy

似乎无法在类似以下代码的函数中触发yield scrapy.Requests。 任何人都可以帮助我清除我或开除我吗? 非常感谢您的帮助。

class MySpider(CrawlSpider):
    ...

    def start_requests(self):
        yield scrapy.Request(url,
                             callback=self.parse_items)

    ...

    def parse_items(self, response):
        def __fire_here(response)

    ...

    def __fire_here(response):
        # Cannot fire here, why?
        yield scrapy.Request(url,
                             callback=self.parse_items) 

1 个答案:

答案 0 :(得分:1)

为避免代码重复,您可以通过以下方式调用__fire_here函数:

def parse_items(self, response):
    yield self.__fire_here(response)

def __fire_here(self, response):
    # yield some request here

您的代码似乎无休止地从一个函数调用了另一个函数。你能检查一下你的逻辑吗?