【问题标题】:Distributing a web crawler in Python用 Python 分发网络爬虫
【发布时间】:2015-11-06 18:09:12
【问题描述】:

我是一名 Python 学习者,我一直在认真阅读这篇文章:

"A Web Crawler With asyncio Coroutines" by A. Jesse Jiryu Davis and Guido van Rossum

我不明白的一件事是我如何在由多台计算机组成的集群上扩展这个程序。这是 asyncio 库的一部分,还是您对分布式部分“靠自己”?

【问题讨论】:

    标签: python web-crawler distributed-computing


    【解决方案1】:

    一种可能性是使用外部任务队列。有很多可供选择,Celery 是一个受欢迎的。基本思想是将作业推送到队列中,任何数量的工作进程都可以使用它们。对于网络爬虫来说,一项工作可以像抓取一个 URL 一样简单。 Worker 会从队列中抓取一个 URL,检索它,解析它,然后将任何新 URL 作为新作业添加到队列中。

    这个系统的优点是工人只是进程,并且可以通过网络与队列通信,所以你可以在尽可能多的机器上拥有尽可能多的工人。

    【讨论】:

      猜你喜欢
      • 2015-05-12
      • 1970-01-01
      • 2023-01-26
      • 2021-05-08
      • 1970-01-01
      • 2013-10-15
      • 2013-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多