python - 从单独的 python 脚本运行蜘蛛
问题描述
我想知道从另一个 python 脚本运行蜘蛛的最佳方法是什么。我的scrapy项目由4个不同的蜘蛛组成,它们都创建帮助其他蜘蛛工作的文件,其中一些必须读取一些文件才能工作。该部分已经完成,但单独完成(将蜘蛛与控制台分开运行)。
例如,我怎么能做这样的事情
if (productToSearchIsBlue):
#Make one spider crawl
else:
#Make another spider crawl
我最后的计划是把完整的程序上传到云端,让它自动运行,这个可以吗?
我找到了这个问题的一些答案,但它们已经很老了,可能是另一个版本的scrapy。
解决方案
假设您已正确设置其他所有内容,这里是文档中的一个简单示例。
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()
然后,您可以在云服务器上运行它。但我无法回答这是否是您要解决的问题的最佳解决方案。
推荐阅读
- python - Python 等到什么时候?
- javascript - 使用按钮作为 javascript 游戏的触摸屏控件
- scala - Scala-Spark:无法使用 UDF
- python - scrapy 从 json 字典中获取数据字典
- mysql - Aurora DB:表中支持的最大列数是多少?另外,如何克服“错误:行大小太大”?
- sql - 连接具有不同日期字段的表
- r - 在 R 中清理和格式化日期
- python - 如何用 sqlalchemy 做 WHERE IN?
- scala - 具有多个条件时的 Spark Scala 案例
- python - 通过在 python 中使用新键对字典进行分区来创建字典