我正在尝试用curl编写一个基于PHP的爬虫。我有20,000-30,000网址的数据库,我必须抓取。每次调用curl来获取网页大约需要4-5秒。
我如何优化这一点并减少获取页面所需的时间?
发布于 2012-12-06 17:15:14
为此,您可以使用curl_multi_*
。您附加到一个多句柄的curl资源的数量就是它将执行的并行请求的数量。我通常从20-30个线程开始,这取决于返回内容的大小(确保您的脚本不会因为内存限制而终止)。
请注意,它将运行最慢的请求所需的时间。因此,如果请求超时,您可能会等待很长时间。要避免这种情况,最好将超时设置为某个可接受的值。
您可以在另一个线程here中查看我的答案中的代码示例。
https://stackoverflow.com/questions/13738629
复制相似问题