我尝试创建一个程序,使用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上尝试了几个与此问题相关的可能解决方案,但似乎没有一个直接适用于此问题。我错过了什么?