gpt4 book ai didi

python - scrapy while 循环中出现 ReactorNotRestartable 错误

转载 作者:太空宇宙 更新时间:2023-11-03 20:24:00 29 4
gpt4 key购买 nike

执行以下代码时出现 twisted.internet.error.ReactorNotRestartable 错误:

from time import sleep
from scrapy import signals
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
from scrapy.xlib.pydispatch import dispatcher

result = None

def set_result(item):
result = item

while True:
process = CrawlerProcess(get_project_settings())
dispatcher.connect(set_result, signals.item_scraped)

process.crawl('my_spider')
process.start()

if result:
break
sleep(3)

第一次运行时,我收到错误。我每次都会创建 process 变量,那么问题出在哪里?

最佳答案

默认情况下,CrawlerProcess.start()当所有爬虫完成后,将停止它创建的 Twisted react 器。

如果您在每次迭代中创建 process,则应该调用 process.start(stop_after_crawl=False)

另一种选择是自己处理 Twisted react 堆并使用 CrawlerRunnerThe docs have an example这样做。

关于python - scrapy while 循环中出现 ReactorNotRestartable 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57962863/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com