繁体   English   中英

从另一个python脚本运行Scrapy Spider

[英]Running a Scrapy spider from another python script

我正在尝试从我构建的一个简单的PyQt4 GUI运行一个抓痒的蜘蛛,用户必须填写他的电子邮件和密码才能运行蜘蛛,如果我从命令提示符下像这样调用它的话,蜘蛛工作得很好

scrapy crawl my_spider -a email -a password

因此,一旦用户填写了他的电子邮件和密码,然后我将它们保存在脚本中,在阅读了文档和一些我从google找到的示例后,我仍然不知道如何运行它

    self.BumpPushButton.clicked.connect(self.BumpListings)

    def BumpListings(self):
        email = self.emailTextEdit.toPlainText()
        password = self.passwordTextEdit.toPlainText()
        bumpCycleInMinutes = self.MinutesTextEdit.toPlainText()

在这一点上有没有一种简单的方法来呼叫蜘蛛?

有两种方法可以解决此问题。 您可以通过导入蜘蛛直接调用蜘蛛,也可以使用python子进程 我建议使用python子进程,因为您不想阻止pyqt进程。

 import subprocess
 process = subprocess.Popen(['scrapy', 'crawl', 'my_spider', 
                                       '-a', email, '-a', password]
                             shell=True, 
                             stdout=subprocess.PIPE, 
                             stderr=subprocess.PIPE) 

然后,您可以使用waitcommunicatepoll等检查流程。请参阅文档以查看您可能要执行的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM