我想知道从另一个python脚本运行蜘蛛的最佳方法是什么。我的拼凑项目由4个不同的Spider组成,它们全部创建可帮助其他Spider正常工作的文件,其中一些必须读取一些文件才能工作。该部分已经完成,但需要单独完成(将蜘蛛网与控制台分开运行)。
例如,我该怎么做
if (productToSearchIsBlue):
#Make one spider crawl
else:
#Make another spider crawl
我的最终计划是将整个程序上传到云中并使其自动运行,这可以做到吗?
我找到了这个问题的一些答案,但是它们很旧了,可能是针对另一版本的scrapy。
答案 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()
然后可以在云服务器上运行它。但是我无法回答这是否是您要解决的问题的最佳解决方案。