Паук Scrapy, который слушает в очереди, чтобы проползти URL-адреса семян? - PullRequest
0 голосов
/ 15 января 2019

Каким образом я мог бы заставить паука Scrapy прослушивать очередь SQS (или другую) для поиска новых начальных URL-адресов для сканирования?

Не удалось найти никаких примеров в документации, поэтому подумал, что здесь кто-то может знать.

Заранее спасибо.

редактирование:

Возможно, start_requests это правильное место?

class MySpider(scrapy.Spider):
    name = 'example.com'
    allowed_domains = ['example.com']

    def start_requests(self):
        # read requests from queue here?
        while True:
            url = self._queue.get_url()
            yield scrapy.Request(url, self.parse)

1 Ответ

0 голосов
/ 15 января 2019

Повторная реализация Spider.start_requests() - это правильный способ динамически выдавать запросы для вашего паука на обработку, откуда бы эти запросы не поступали (динамическая очередь, локальный файл и т. Д.).

В руководстве Scrapy это, кстати, рассматривается:)

...