0

我正在尝试使用 curl 编写基于 PHP 的爬虫。我有 20,000-30,000 个我必须抓取的 URL 的数据库。每次调用 curl 来获取网页大约需要 4-5 秒。

如何优化这一点并减少获取页面所需的时间?

4

1 回答 1

1

你可以使用curl_multi_*它。您附加到一个多句柄的 curl 资源数量就是它将执行的并行请求数量。我通常从 20-30 个线程开始,具体取决于返回内容的大小(确保您的脚本不会因内存限制而终止)。

请注意,只要运行最慢的请求,它就会运行。因此,如果请求超时,您可能会等待很长时间。为避免这种情况,最好将超时设置为某个可接受的值。

您可以在此处的另一个线程中查看我的回答中的代码示例。

于 2012-12-06T09:15:14.440 回答