Scrapy пропускает запросы, если для CONCURRENT_REQUESTS установлено значение 16, значение по умолчанию.
Я пытаюсь передать несколько URL-адресов с помощью scrapy SiteMap spider, и случайно пропускаются 2-3 из 43 URL-адресов. Это не вызывает функцию разбора для них. Когда я печатаю длину запросов в start_request, это дает 43, однако функция синтаксического анализа вызывается только 39-40 раз.
Однако странно то, что когда я устанавливаю CONCURRENT_REQUESTS = 1 в файле settings.py, он работает правильно. Ранее было установлено значение по умолчанию 16.
класс MySpider (SitemapSpider):
name = "sitemap_spider"
def __init__(self,config='', **kwargs):
self.sitemap_urls = self.config["sitemap_urls"]
self.other_urls = self.config["other_urls"]
super(MySpider,self).__init__()
options = webdriver.ChromeOptions()
options.add_argument('--headless')
self.driver = webdriver.Chrome(chrome_options=options)
def start_requests(self):
requests = list(super(MySpider, self).start_requests())
requests += [scrapy.Request(x, self.parse) for x in self.other_urls]
self.logger.info("requests: " + str(requests))
return requests
def parse(self, response):
# here I have a long parsing code#
Как при увеличении количества одновременных запросов пропускаются несколько URL. Не хватает ли мощности?