php多线程抓取多个网页(本文实例讲述php使用curl_init()多线程的速度比较)
优采云 发布时间: 2021-12-15 21:11php多线程抓取多个网页(本文实例讲述php使用curl_init()多线程的速度比较)
本文介绍了 PHP 使用 curl_init() 和 curl_multi_init() 多线程的速度对比。分享给大家,供大家参考,如下:
php中的curl_init()非常有用,尤其是在爬取网页内容或者文件信息的时候。比如curl_init()的强大在之前的文章《php使用curl进行头部检测和GZip压缩》中介绍过。
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>