首页 > 解决方案 > 从单独的 python 脚本运行蜘蛛

问题描述

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

例如,我怎么能做这样的事情

if (productToSearchIsBlue):

    #Make one spider crawl

else:

    #Make another spider crawl

我最后的计划是把完整的程序上传到云端,让它自动运行,这个可以吗?

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

标签: pythonscrapy

解决方案


假设您已正确设置其他所有内容,这里是文档中的一个简单示例。

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()

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


推荐阅读