Пользовательская функция Scrapy не может запустить scrapy.Requests - PullRequest
0 голосов
/ 29 марта 2019

Кажется, что 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 Ответ

1 голос
/ 29 марта 2019

Чтобы избежать дублирования кода, вы можете вызывать функцию __fire_here следующим образом:

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

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

Ваш код, кажется, выполняет бесконечные вызовы от одной функции к другой.Вы можете проверить свою логику?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...