欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【PHP 使用 CURL 同步抓取多个网页】,下面是详细的分享!
PHP 使用 CURL 同步抓取多个网页
一般CURL 抓网页的方法, 是一页一页抓, 假设要抓 4页, 所费时间各别是 5,10,7,5 秒, 那全部总合所花的时间就是 5 + 10 + 7 + 5=27 秒。
若能同时间去抓取多个网页, 所花费的时间 5,10,7,5 秒, 全部总合所花的时间是 10 秒。(花费最多时间的秒数)
于JavaScript 可使用 AJAX 的 async(YAHOO.util.Connect.asyncRequest)来达成, 于 PHP 可以用 CURL 来达成此 Multi-Threading 的效果。
程序(async.php)
以下为引用的内容: |
使用
| 以下为引用的内容: <?php $urls=array('http://example1.com', 'http://example2.com'); print_r(async_get_url($urls)); // [0]=> example1, [1]=> example2 ?> |
测试
sleep.php # 看时间延长取得的效果
| 以下为引用的内容: <?php sleep(intval($_GET['time'])); echo intval($_GET['time']); ?> |
| 以下为引用的内容: <?php $url_array=array( 'http://example.com/sleep.php?time=5', 'http://example.com/sleep.php?time=10', 'http://example.com/sleep.php?time=7', 'http://example.com/sleep.php?time=5', ); print_r(async_get_url($url_array)); // 总花费时间会是 10 秒, 并印出 [0]=> 5, [1]=> 10, [2]=> 7, [3]=> 5 ?> |
作者:Tsung http://plog.longwin.com.tw/programming/2009/10/07/php-multi-thread-curl-2009
以上所分享的是关于PHP 使用 CURL 同步抓取多个网页,下面是编辑为你推荐的有价值的用户互动:
相关问题:php使用curl抓取一个网站的内容被拒绝
答:刚写的。希望有用 >>详细
相关问题:如何用php抓取含有jsp的网页内容?需要抓取jsp产生...
答:jsp是服务器的语言,你只能抓取到它输出到页面的内容。 建议你用php的curl类去抓取jsp输出的内容! >>详细
相关问题:请问php怎样抓取其它网站的动态数据,显示在自己的...
答:先获取整个网页的内容,然后匹配到你说的数据,嵌套到自己的网站,隔一段时间ajax运行一次。 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
