我用Portia建造了一只小型蜘蛛蜘蛛。我已经将它部署在Scrapyd中并且工作正常。
搜索后我发现我们可以使用芹菜来安排蜘蛛。
实际上 Scrapyd 和 Celery 有什么区别?
任何人都可以帮助我。
感谢。
答案 0 :(得分:3)
Scrapyd主要侧重于部署scrapy蜘蛛,而Celery是一个通用框架,以分布式和可扩展的方式运行异步任务。
你可以用另一个做一个。但是你所知道的scrapy专注于刮网,但是芹菜你会定义你的任务。
scrapy + scrapyd :Scrapyd专为scrapy而建,当你将"部署"一只新蜘蛛有点运行scrapy crawl myspider
。 Scrapyd还提供了一个Web服务来上传和启动新蜘蛛以及更多功能。
scrapy + celery :您需要实施的芹菜任务基本上与scrapyd
中给出的相同。这种方式的主要优势 IMO 是,如果你最终会有一些不能提供的要求,那么用芹菜来实现它们会更容易,因为在芹菜中你定义了自己的任务。
来自Celery:
Celery是基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。
来自Scrapyd:
Scrapyd是一个部署和运行Scrapy蜘蛛的应用程序。它使您能够使用JSON API部署(上载)项目并控制其蜘蛛。