Приоритет запроса scrapy forloop - PullRequest
1 голос
/ 28 мая 2020
    for each in player_url:
        yield scrapy.Request(each, callback=self.player_data2, priority=1)
    yield scrapy.Request(match_data.get('table_url'), callback=self.parse_table_url)

Это не работает

Без завершения forl oop следующий запрос вызывается

1 Ответ

0 голосов
/ 28 мая 2020

Ваш код генерирует scrapy.Request с тем же приоритетом (приоритет 1) для l oop. Если вы хотите, чтобы первый запрос был обработан первым, назначьте разные приоритеты.

Отметьте ниже:

priority = -1
for each in player_url:
    yield scrapy.Request(each, callback=self.player_data2, priority=priority)
    priority -= 1 # so that next request gets lesser priority
yield scrapy.Request(match_data.get('table_url'), callback=self.parse_table_url, priority=priority) # Assiging priority to this also so that this gets executed at last

Отрицательные числа могут использоваться для отображения меньшего приоритета. Надеюсь, это поможет!

...