gpt4 book ai didi

python - 带有 scrapy 的 while 循环中的 ReactorNotRestartable 错误

转载 作者:太空狗 更新时间:2023-10-29 17:19:53 25 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 器并使用 CrawlerRunner . The docs have an example这样做。

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

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