我很好奇是否有人建议利用PHP / CURL(或其他技术)从网站下载内容的最佳方法。现在我正在使用curl_multi一次做10个请求,这有助于一些。
我真的需要每天请求大约100K页面,这可能会有点繁琐(现在需要16个小时)。我最初的想法只是设置多个虚拟机并拆分任务,但是想知道除了并行化之外是否还有其他我缺少的东西。 (我知道你总能把更多的机器扔到问题上)
提前致谢!
答案 0 :(得分:2)
这取决于您对内容的处理,但尝试排队系统。
我建议Resque。它使用Redis来处理队列。它专为速度和多个请求而设计。它还有一个resque-web
选项,可以提供一个不错的托管UI。
您可以使用一台计算机排队新网址,然后您可以让一台或多台计算机处理这些队列。
其他选项:Kestrel,RabbitMQ,Beanstalkd
答案 1 :(得分:0)
要检索Web内容,您可以使用curl或fsockopen。可以在Which is better approach between fsockopen and curl?中看到两种方法之间的比较。