在程序中多次运行scrapy spider

时间:2017-07-16 20:50:14

标签: python scrapy

我尝试创建一个程序,使用scrapy sipder多次用于不同的用途。我的结构如下:

def init_crawl(OUTPUT_FILE, ticker):
    OUTPUT_FILE = "file:///" + OUTPUT_FILE
    process = CrawlerProcess({
        'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
        'FEED_URI': OUTPUT_FILE,
        'LOG_ENABLED': False,
    })
    process.crawl(SeccrawlerSpider, ticker=ticker)
    process.start() 


class GUIapp():
    def __init__(self, master):
        # stuff

    def execute(self, ticker):
        # tiker is user input
        init_crawl(file_loc, ticker)

def main():
    master = tk.Tk()
    app = GUIapp(master)
    master.mainloop()

if __name__ == "__main__":
    main()

第一次运行正常,但是在获得第一个自动收报器的结果后输入第二个自动收报机时,我总是得到twisted.internet.error.ReactorNotRestartable。我已经在SO上尝试了几个与此问题相关的可能解决方案,但似乎没有一个直接适用于此问题。我错过了什么?

0 个答案:

没有答案