php - curl - 从网站上抓取大量内容

标签 php curl

我很好奇是否有人对利用 PHP/CURL(或什至其他技术)从网站下载内容的最佳方法有任何建议。现在我使用curl_multi一次执行10个请求,这对一些人有帮助。

我实际上每天需要请求大约 100K 页面,这可能会有点乏味(现在需要 16 小时)。我最初的想法只是设置多个虚拟机并分割任务,但想知道除了并行化之外是否还缺少其他东西。 (我知道你总是可以投入更多的机器来解决这个问题,呵呵)

提前致谢!

最佳答案

这取决于您对内容的处理方式,但请尝试使用排队系统。

我建议Resque 。它使用 Redis 来处理队列。它专为提高速度和同时处理多个请求而设计。它还有一个 resque-web 选项,可以提供漂亮的托管 UI。

您可以使用一台机器对新 URL 进行排队,然后可以让一台或多台机器处理队列。

其他选项:Kestrel , RabbitMQ , Beanstalkd

关于php - curl - 从网站上抓取大量内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303904/

相关文章:

php - 将带有超链接的 html 表中的值传递到下一页的数据库查询

php - 在 php 脚本中使用 curl

javascript - Node.js 相当于此curl 请求

php - cURL错误如何解决(七): couldn't connect to host?

c# - 如何在不到 6 小时的执行时间内测试 500 万亿个组合

php - 在不影响当前页面的情况下使用 HTML post

php - Paypal 隐藏变量不起作用

php - 我如何在 PHP 中发布日期?

php - 使用 PHP 发出 HTTP/2 请求

linux - curl 一个grep的结果?