问题描述
我有一个 wxPython GUI,它在单击按钮时启动 Scrapy 爬行。我不希望 GUI 在爬行过程中被阻塞,所以我在一个线程中运行 Scrappy。一切正常,我所坚持的是如何为用户提供第二个暂停爬行的按钮。该手册讨论了scrapy.exceptions.CloseSpider,但我如何告诉线程注意由用户单击主线程触发的异常。
我目前的代码使用钩针
import scrapy.crawler as crawler
from scrapy.utils.log import configure_logging
from scrapy.utils.project import get_project_settings
from crochet import setup,run_in_reactor
setup()
class crawlManager:
@run_in_reactor
def start(searchURL):
os.chdir('../crawler')
configure_logging()
settings = get_project_settings()
runner = crawler.CrawlerRunner(settings)
d = runner.crawl('quizzial')
# d.addBoth(lambda _: reactor.stop())
# reactor.run()
os.chdir('../gui')
但我真的不知道从哪里开始让 Scrapy 暂停。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)