Процесс Scrapy останавливает выполнение после того, как второй паук завершит сканирование, не дожидаясь завершения первого. - PullRequest
0 голосов
/ 17 июня 2020

Я создал сценарий для запуска двух пауков в одном процессе и получения желаемого результата. Если первый паук завершит сканирование раньше второго, я получу желаемый результат. Однако, если второй паук завершает выполнение раньше первого, сценарий завершается, не дожидаясь, пока первый паук завершит сканирование. Что может быть причиной? Какую модификацию следует внести в свой код?

from scrapy.utils.project import get_project_settings
from scrapy.crawler import CrawlerProcess

setting = get_project_settings()
process = CrawlerProcess(setting)

for spider_name in process.spider_loader.list():
    setting['FEED_FORMAT'] = 'json'
    setting['LOG_LEVEL'] = 'INFO'
    setting['FEED_URI'] = spider_name+'.json'
    setting['LOG_FILE'] = spider_name+'.log'
    process = CrawlerProcess(setting)
    print("Running spider %s" % spider_name)
    process.crawl(spider_name)

process.start()
print("Completed")
...