解讀PHP如何使用 CURL 同步抓取多個(gè)網(wǎng)頁(yè)_PHP教程
推薦:淺談PHP 閉包特性在實(shí)際應(yīng)用中的問題原文鏈接: http://justafewlines.com/2009/10/whats-wrong-with-php-closures/ PHP5.3 新版本跟隨了很多新特性, 其中比較惹眼的特性之一就是支持了閉包。那么以后,我們也可以和那幫寫 Ruby、Javascript 等等高科技語(yǔ)言的家伙們一樣,寫出非�?岬拇a嗎?
一般CURL 抓網(wǎng)頁(yè)的方法, 是一頁(yè)一頁(yè)抓, 假設(shè)要抓 4頁(yè), 所費(fèi)時(shí)間各別是 5,10,7,5 秒, 那全部總合所花的時(shí)間就是 5 + 10 + 7 + 5 = 27 秒。若能同時(shí)間去抓取多個(gè)網(wǎng)頁(yè), 所花費(fèi)的時(shí)間 5,10,7,5 秒, 全部總合所花的時(shí)間是 10 秒。(花費(fèi)最多時(shí)間的秒數(shù))于JavaScript 可使用 AJAX 的 async(YAHOO.util.Connect.asyncRequest)來(lái)達(dá)成, 于 PHP 可以用 CURL 來(lái)達(dá)成此 Multi-Threading 的效果。程序(async.php)
以下為引用的內(nèi)容: |
使用
| 以下為引用的內(nèi)容: <?php $urls = array('http://example1.com', 'http://example2.com'); print_r(async_get_url($urls)); // [0] => example1, [1] => example2 ?> |
測(cè)試
sleep.php # 看時(shí)間延長(zhǎng)取得的效果
| 以下為引用的內(nèi)容: <?php sleep(intval($_GET['time'])); echo intval($_GET['time']); ?> |
| 以下為引用的內(nèi)容: <?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)); // 總花費(fèi)時(shí)間會(huì)是 10 秒, 并印出 [0] => 5, [1] => 10, [2] => 7, [3] => 5 ?> |
分享:解說(shuō)PHP中插件機(jī)制的一種實(shí)現(xiàn)方案這篇文章的出發(fā)點(diǎn)是我對(duì)插件機(jī)制的理解,及其在PHP中的實(shí)現(xiàn)。此方案僅是插件機(jī)制在PHP中的實(shí)現(xiàn)方案之一,寫下來(lái)和大家分享,歡迎大家一起討論。 插件,亦即Plug-in,是指一類特定的功能模塊(通常由第三方開發(fā)者實(shí)現(xiàn)),它的特點(diǎn)是:當(dāng)你需要它的時(shí)候激活它
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- PHP獲取文件名后綴(三種經(jīng)典方案)
- 如何使用PHP調(diào)用TinyURL API
- 初學(xué)PHP指導(dǎo):php.ini 配置詳細(xì)選項(xiàng)
- php正則匹配獲取指定url網(wǎng)頁(yè)頁(yè)面超級(jí)鏈接地址
- 利用PHP制作簡(jiǎn)單的內(nèi)容采集器
- php上傳經(jīng)典源碼
- 淺談基于UML的城軌列車超速防護(hù)系統(tǒng)建模
- Fedora下Zend Studio 6.1.2 如何配置
- 深入PHP運(yùn)行環(huán)境配置的詳解
- 基于php實(shí)現(xiàn)長(zhǎng)連接的方法與注意事項(xiàng)的問題
- 相關(guān)鏈接:
- 教程說(shuō)明:
PHP教程-解讀PHP如何使用 CURL 同步抓取多個(gè)網(wǎng)頁(yè)
。