微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 GUI 暂停 Scrapy 抓取

如何解决如何从 GUI 暂停 Scrapy 抓取

我有一个 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 举报,一经查实,本站将立刻删除。