php多线程抓取多个网页(比较详解本文:php使用curl获取header检测开启GZip压缩)
优采云 发布时间: 2022-03-31 00:21php多线程抓取多个网页(比较详解本文:php使用curl获取header检测开启GZip压缩)
php使用curl_init()和curl_multi_init()多线程的速度详解
本文介绍了php使用curl_init()和curl_multi_init()多线程的速度对比。分享给大家参考,详情如下:
curl_init()在php中的作用非常大,尤其是在抓取网页内容或者文件信息的时候。比如之前的文章《php使用curl获取header检测并启用GZip压缩》介绍了curl_init()的威力。
curl_init() 以单线程模式处理事物。如果需要使用多线程模式进行事务处理,那么PHP为我们提供了一个函数curl_multi_init(),就是多线程模式处理事务的函数。
curl_init()和curl_multi_init()的速度对比
curl_multi_init() 多线程可以提高网页的处理速度吗?今天我将通过一个实验来验证这个问题。
我今天的测试很简单,就是抓取网页的内容,需要连续抓取5次,使用curl_init()和curl_multi_init()函数完成,记录两次耗时,并比较得出结论。
首先,使用 curl_init() 单线程连续抓取网页内容 5 次。
程序代码如下:
然后,使用 curl_multi_init() 多线程连续抓取网页内容 5 次。
代码显示如下:
<p>