0

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

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

如果我可以在蜘蛛之间分发客户端 ID,而不是分发 URL,那也很好。

4

1 回答 1

2

您可以为此使用Scrapinghub Cloud。Scrapy 蜘蛛在它上面开箱即用,你可以使用它的Collection API来存储你user_id的,供蜘蛛使用。

如果您想测试它,有一个免费层。

但如果您想尝试自托管解决方案,您可以尝试Frontera

Frontera是一个由爬行边界和分布/缩放原语组成的网络爬虫框架,允许构建大规模的在线网络爬虫。

Frontera 负责在抓取过程中遵循的逻辑和策略。它存储爬虫提取的链接并确定其优先级,以决定接下来要访问哪些页面,并且能够以分布式方式进行。

主要特点

  • (...)

  • 内置 Apache Kafka 和 ZeroMQ 消息总线。

于 2019-03-10T18:26:24.610 回答