我有一个Scrapy项目,在Apache(XAMPP)上运行基于Web的界面,允许用户创建,修改和安排蜘蛛,还包括在6800端口调用scrapyd以获取待处理/正在运行/已完成的蜘蛛。这一切都有一个例外......如果scrapyd没有运行,我显然无法安排蜘蛛或从scrapyd获得待处理/正在运行/已完成的蜘蛛。
我目前所拥有的是对http://localhost:6800
的调用,如果失败,我会显示一条消息,指出服务器当前没有运行,并且我有一个启动服务器的链接。单击链接时,它会调用一个Python页面,该页面调用os.system来启动服务器。我是Python的新手,我仍然试图掌握OS函数,我尝试了一些我在Stack Overflow上找到的不同方法(例如subprocess.call和os.popen / popen2 / popen3)但它们似乎都没有用。
我知道要使用scrapy server
启动scrapyd,你需要在scrapy项目目录中,所以我也尝试使用twistd -ny extras/scrapyd.tac
对我来说,运行scrapy命令或通过Python调用twd的最佳方法是什么?