我很好奇是否有人对利用 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/