Scrapy запретить посещение одного и того же URL-адреса по расписанию

Я планирую развернуть паука Scrapy на ScrapingHub и использовать функцию расписания для ежедневного запуска паука. Я знаю, что по умолчанию Scrapy не посещает одни и те же URL-адреса. Однако мне было интересно, сохраняется ли это предотвращение дублирования URL-адресов при запланированных запусках на ScrapingHub? И могу ли я настроить его так, чтобы Scrapy не посещал одни и те же URL-адреса при запланированных запусках.


person Marcus Christiansen    schedule 24.05.2018    source источник


Ответы (1)


DeltaFetch – это подключаемый модуль Scrapy, который сохраняет отпечатки посещенных URL-адресов в разных запусках Spider. Вы можете использовать этот плагин для инкрементного (дельта) сканирования. Его основная цель — избежать запроса страниц, которые уже были очищены ранее, даже если это произошло в предыдущем выполнении. Он будет делать запросы только к страницам, с которых ранее не было извлечено элементов, к URL-адресам из атрибута start_urls пауков или запросам, сгенерированным в методе start_requests пауков.

См. https://blog.scrapinghub.com/2016/07/20/scrapy-tips-from-the-pros-july-2016/

Репозиторий плагинов: https://github.com/scrapy-plugins/scrapy-deltafetch

На панели инструментов Scrapinghub вы можете активировать его на странице Настройка дополнений внутри проекта Scrapy Cloud. Тем не менее, вам также необходимо активировать/включить надстройку DotScrapy Persistence, чтобы она работала.

person Andrés Pérez-Albela H.    schedule 25.05.2018