Scrapy 有可能在循环中启动spider吗?

Scrapy 有可能在循环中启动spider吗?,scrapy,Scrapy,上面是我的核心代码,我想在一个循环中抓取这些URL(太多)。但当我跑步时,我犯了一个错误: while 1: url = f.readline() if not url: break _url = 'http://' + url.split()[0] _domain = get_domain(_url) process = CrawlerProcess(settings) process.crawl(mycrwalspider()

上面是我的核心代码,我想在一个循环中抓取这些URL(太多)。但当我跑步时,我犯了一个错误:

while 1:
    url = f.readline()
    if not url:
        break

    _url = 'http://' + url.split()[0]
    _domain = get_domain(_url)
    process = CrawlerProcess(settings)
    process.crawl(mycrwalspider(), su=[_url], ad=[_domain])
    process.start()
我找到了很多文章,但没有找到合适的方法。我知道反应堆只启动一次,但我想做的是启动一个循环中的蜘蛛。 我该怎么办

我找到了一个解决方案:

twisted.internet.error.ReactorNotRestartable
所以,如果我有1000个url要运行,我每次可以运行100个url,总计10次。

put
process.start()

for url in urls:
   # url : [['www.a.com'],['www.b.com'],...]
    p1 = Process(target=run_spiders, args=(success_flag, url,))
    p1.start()
    p1.join()
while 1:
    url = f.readline()
    if not url:
        break

    _url = 'http://' + url.split()[0]
    _domain = get_domain(_url)
    process = CrawlerProcess(settings)
    process.crawl(mycrwalspider(), su=[_url], ad=[_domain])
process.start()