Как заставить scrapy разобрать вторую страницу, когда закончил первую? - PullRequest
0 голосов
/ 28 октября 2018

Я использую Scrapy версии 1.5.1.Я создал анализатор, который анализирует URL-адреса с главной страницы, затем анализирует URL-адреса с уже проанализированных URL-адресов и т. Д. Scrapy работает асинхронно и выполняет параллельные соединения.Проблема в том, что у меня есть какая-то логика, которая сначала должна анализировать URL-адреса, создавая наборы URL-адресов, которые я уже посетил, максимальное количество посещений и т. Д.

Сначала я настраиваю CONCURRENT_REQUESTS_PER_DOMAIN=1 и CONCURRENT_REQUESTS=1, ноэто не помогло, потому что я думаю, что есть планировщик, который кеш URL, который будет обрабатывать затем, а затем, выполнить его в другом порядке.

Что мне нужно сделать, это заставить scrapy обработать один URL-адрес и дождаться его завершения, а затем начать анализ нового URL-адреса и т. Д. Есть ли способ настроить scrapy для этого?

1 Ответ

0 голосов
/ 31 октября 2018

Попробуйте использовать yield response.follow вместо yield Request: https://doc.scrapy.org/en/latest/topics/request-response.html#scrapy.http.TextResponse.follow

...