国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

PHP使用CURL實現多線_程抓取網頁

2019-11-02 15:38:32
字體:
來源:轉載
供稿:網友

   PHP 利用 Curl Functions 可以完成各種傳送文件操作,比如模擬瀏覽器發送GET,POST請求等等,受限于php語言本身不支持多線程,所以開發爬蟲程序效率并不高,這時候往往需 要借助Curl Multi Functions 它可以實現并發多線程的訪問多個url地址。既然 Curl Multi Function如此強大,能否用 Curl Multi Functions 來寫并發多線程下載文件呢,當然可以,下面給出我的代碼:

  代碼1:將獲得的代碼直接寫入某個文件

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <?php $urls = array( 'http://www.sina.com.cn/', 'http://www.sohu.com/', 'http://www.163.com/' ); // 設置要抓取的頁面URL   $save_to='/test.txt'; // 把抓取的代碼寫入該文件   $st = fopen($save_to,"a"); $mh = curl_multi_init();   foreach ($urls as $i => $url) { $conn[$i] = curl_init($url); curl_setopt($conn[$i], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"); curl_setopt($conn[$i], CURLOPT_HEADER ,0); curl_setopt($conn[$i], CURLOPT_CONNECTTIMEOUT,60); curl_setopt($conn[$i], CURLOPT_FILE,$st); // 設置將爬取的代碼寫入文件 curl_multi_add_handle ($mh,$conn[$i]); } // 初始化   do { curl_multi_exec($mh,$active); } while ($active); // 執行   foreach ($urls as $i => $url) { curl_multi_remove_handle($mh,$conn[$i]); curl_close($conn[$i]); } // 結束清理   curl_multi_close($mh); fclose($st); ?>

  代碼2:將獲得的代碼先放入變量,再寫入某個文件

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 <?php $urls = array( 'http://www.sina.com.cn/', 'http://www.sohu.com/', 'http://www.163.com/' );   $save_to='/test.txt'; // 把抓取的代碼寫入該文件 $st = fopen($save_to,"a");   $mh = curl_multi_init(); foreach ($urls as $i => $url) { $conn[$i] = curl_init($url); curl_setopt($conn[$i], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"); curl_setopt($conn[$i], CURLOPT_HEADER ,0); curl_setopt($conn[$i], CURLOPT_CONNECTTIMEOUT,60); curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,true); // 設置不將爬取代碼寫到瀏覽器,而是轉化為字符串 curl_multi_add_handle ($mh,$conn[$i]); }   do {
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 原平市| 无棣县| 泸水县| 历史| 阿巴嘎旗| 汶上县| 建水县| 观塘区| 永清县| 林州市| 虎林市| 囊谦县| 德庆县| 博客| 定陶县| 永吉县| 大渡口区| 上高县| 株洲县| 南木林县| 历史| 广水市| 孟津县| 宁明县| 沽源县| 通城县| 阳江市| 盐山县| 大冶市| 辽宁省| 萨迦县| 加查县| 辉南县| 临安市| 噶尔县| 元阳县| 永寿县| 鹤壁市| 临江市| 景洪市| 乐都县|