卷曲多个爬行问题

时间:2012-01-16 10:16:16

标签: php curl

我们有一个爬行引擎,每月可容纳约500,000个游客。我们使用curl来获取网页。我们最近使用了多个exec with curl来同时抓取页面。我们将其设置为同时抓取20页。

现在在获取网页卷曲的过程中将完全停止,直到所有20个页面都被提取,然后才会移动到下一个20页。就好像一个页面提取速度慢,然后curl会等待要加载的页面,直到它进入下一个循环,我接下来的20页。

还有其他办法可以解决这个问题吗?我希望我的问题很明确。

之后

通过克服我的意思只是图像卷曲同时获取20页。获取的内容会立即被更新的项目取代而无需等待所有20项内容完成?清除?

1 个答案:

答案 0 :(得分:1)

当然,只需在完成后添加一个带有新URL的新句柄。没有必要等待所有20个先完成。这只是效率低下。

当然你可以将20到200或600或者其他任何东西碰到......如果你想要那么......

有关多接口如何在C级上工作的概述,请参阅http://curl.haxx.se/libcurl/c/libcurl-multi.html。 PHP / CURL API只是一个很薄的层。

在PHP中,curl_multi_exec()将返回“运行句柄”的计数器,该计数器在一个或多个传输完成时会减少。您可以(也应该)调用curl_multi_info_read()来确切地确定完成的传输及其单独的返回代码。

相关问题