Я застреваю при запуске нескольких экземпляров одного и того же паука. Я хочу запустить его, как 1 url для 1 spider instance. Я должен обработать URL-адреса 50k, и для этого мне нужно инициировать отдельные экземпляры для каждого. В моем главном сценарии пауков я установил timepider timeut в течение 7 минут, чтобы убедиться, что я не сканируюсь в течение длительного времени. Пожалуйста, смотрите код ниже:Scrapy - Как инициировать несколько экземпляров одного и того же процесса паука?
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
import urlparse
for start_url in all_urls:
domain = urlparse.urlparse(start_url).netloc
if domain.startswith('ww'):
domain = domain.split(".",1)[1]
process = CrawlerProcess(get_project_settings())
process.crawl('textextractor', start_url=start_url,allowed_domains=domain)
process.start()
Он работает полностью на 1 URL, бур после того, что при прохождении второй URL он дает ниже ошибки:
raise error.ReactorNotRestartable()
ReactorNotRestartable
Просьба предложить то, что я должен сделать, чтобы сделать его для нескольких экземпляров одного и того же паука. Кроме того, я собираюсь инициировать несколько экземпляров scrapy за один раз с помощью потоков. Будет ли это прекрасный подход?
Любое обновление по этому вопросу? – UriCS