从单独的python脚本运行Spider

时间:2019-02-05 13:26:53

标签: python scrapy

我想知道从另一个python脚本运行蜘蛛的最佳方法是什么。我的拼凑项目由4个不同的Spider组成,它们全部创建可帮助其他Spider正常工作的文件,其中一些必须读取一些文件才能工作。该部分已经完成,但需要单独完成(将蜘蛛网与控制台分开运行)。

例如,我该怎么做

if (productToSearchIsBlue):

    #Make one spider crawl

else:

    #Make another spider crawl

我的最终计划是将整个程序上传到云中并使其自动运行,这可以做到吗?

我找到了这个问题的一些答案,但是它们很旧了,可能是针对另一版本的scrapy。

1 个答案:

答案 0 :(得分:2)

假设您已正确设置所有其他内容,那么根据documentation,这是一个简单的示例。

from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings


process = CrawlerProcess(get_project_settings())

productToSearchIsBlue = False

if productToSearchIsBlue:
    # Make one spider crawl
    process.crawl('spider-one')
else:
    # Make another spider crawl
    process.crawl('spider-two')

process.start()

然后可以在云服务器上运行它。但是我无法回答这是否是您要解决的问题的最佳解决方案。