如何使用Rabbitmq或Kafka来扩展Scrapy spider,它将user_id作为输入并从数据库中获取相应的url?

问题描述 投票:0回答:1

我已经构建了scrapy spider,它将user_id作为命令行参数并从数据库中获取url。现在我希望我的应用程序可扩展。

与此同时,我正在研究互联网上提供的一些解决方案,但并不完全符合我的要求,因为有些建议将一堆网址传递给scrapy并进行抓取,其他建议使用root url并将所有内容留给Scrapy,但我的用例完全不同。我在这里寻找方法。

如果我可以在蜘蛛上分发客户端ID而不是分发URL,那也没关系。

python scrapy scrapyd scrapy-pipeline scrapy-shell
1个回答
0
投票

你可以使用Scrapinghub Cloud。 Scrapy蜘蛛开箱即用,你可以使用它的Collection API存储你的user_id供蜘蛛消费。

如果您想测试,可以使用免费套餐。

但是如果你想尝试一个自托管的解决方案,你可以试试Frontera

Frontera是一个Web爬行框架,由爬网前沿和分发/扩展原语组成,允许构建大规模的在线Web爬虫。

Frontera负责处理爬网期间要遵循的逻辑和策略。它存储并优先处理由爬虫提取的链接,以决定下一个要访问的页面,并能够以分布式方式执行。

主要特点

  • (...)
  • 内置Apache Kafka和ZeroMQ消息总线。
© www.soinside.com 2019 - 2024. All rights reserved.