天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

基于curl數(shù)據(jù)采集之單頁(yè)面采集函數(shù)get_html的使用

這是一個(gè)系列 沒辦法在一兩天寫完 所以一篇一篇的發(fā)布

大致大綱:

1.curl數(shù)據(jù)采集系列之單頁(yè)面采集函數(shù)get_html

2.curl數(shù)據(jù)采集系列之多頁(yè)面并行采集函數(shù)get_htmls

3.curl數(shù)據(jù)采集系列之正則處理函數(shù)get _matches

4.curl數(shù)據(jù)采集系列之代碼分離

5.curl數(shù)據(jù)采集系列之并行邏輯控制函數(shù)web_spider


單頁(yè)面采集在數(shù)據(jù)采集過程中是最常用的一個(gè)功能 有時(shí)在服務(wù)器訪問限制的情況下 只能使用這種采集方式 慢 但是可以簡(jiǎn)單的控制 所以寫好一個(gè)常用的curl函數(shù)調(diào)用是很重要的

百度和網(wǎng)易比較熟悉 所以拿這兩個(gè)網(wǎng)站首頁(yè)采集來做例子講解


最簡(jiǎn)單的寫法:
復(fù)制代碼 代碼如下:
$url = 'http://www.baidu.com';
 $ch = curl_init($url);
 curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
 curl_setopt($ch,CURLOPT_TIMEOUT,5);
 $html = curl_exec($ch);
 if($html !== false){
     echo $html;
 }

由于使用頻繁 可以利用curl_setopt_array寫成函數(shù)的形式:
復(fù)制代碼 代碼如下:
function get_html($url,$options = array()){
     $options[CURLOPT_RETURNTRANSFER] = true;
     $options[CURLOPT_TIMEOUT] = 5;
     $ch = curl_init($url);
     curl_setopt_array($ch,$options);
     $html = curl_exec($ch);
     curl_close($ch);
     if($html === false){
         return false;
     }
     return $html;
 }

復(fù)制代碼 代碼如下:
$url = 'http://www.baidu.com';
echo get_html($url);

有時(shí)候需要傳遞一些特定的參數(shù)才能得到正確的頁(yè)面 如現(xiàn)在要得到網(wǎng)易的頁(yè)面:
復(fù)制代碼 代碼如下:
$url = 'http://www.163.com';
echo get_html($url);

會(huì)看到一片空白 什么也沒有 那么再利用curl_getinfo寫一個(gè)函數(shù) 看看發(fā)生了什么:
復(fù)制代碼 代碼如下:
function get_info($url,$options = array()){
     $options[CURLOPT_RETURNTRANSFER] = true;
     $options[CURLOPT_TIMEOUT] = 5;
     $ch = curl_init($url);
     curl_setopt_array($ch,$options);
     $html = curl_exec($ch);
     $info = curl_getinfo($ch);
     curl_close($ch);
     return $info;
 }
 $url = 'http://www.163.com';
 var_dump(get_info($url));

可以看到http_code 302 重定向了 這時(shí)候就需要傳遞一些參數(shù)了:
復(fù)制代碼 代碼如下:
$url = 'http://www.163.com';
$options[CURLOPT_FOLLOWLOCATION] = true;
echo get_html($url,$options);

會(huì)發(fā)現(xiàn) 怎么是這樣的一個(gè)頁(yè)面 和我們電腦訪問的不同???

看來參數(shù)還是不夠 不夠服務(wù)器判斷我們的客戶端是什么設(shè)備上的 就返回了個(gè)普通版

看來還要傳送USERAGENT
復(fù)制代碼 代碼如下:
$url = 'http://www.163.com';
 $options[CURLOPT_FOLLOWLOCATION] = true;
 $options[CURLOPT_USERAGENT] = 'Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0';
 echo get_html($url,$options);

 

OK現(xiàn)在頁(yè)面已經(jīng)出來了 這樣基本這個(gè)get_html函數(shù)基本能實(shí)現(xiàn)這樣擴(kuò)展的功能

當(dāng)然也有另外的辦法可以實(shí)現(xiàn),當(dāng)你明確的知道網(wǎng)易的網(wǎng)頁(yè)的時(shí)候就可以簡(jiǎn)單采集了:
復(fù)制代碼 代碼如下:
 $url = 'http://www.163.com/index.html';
 echo get_html($url);

這樣也可以正常的采集

php技術(shù)基于curl數(shù)據(jù)采集之單頁(yè)面采集函數(shù)get_html的使用,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 老头狠狠挺进小莹体内视频 | 亚洲日本欧美天堂在线 | 亚洲国产精品久久人人爱 | 67194con免费福和视频 | 70岁妇女牲交色牲片 | 用震蛋调教女性下面视频 | 国产精品96久久久久久AV不卡 | 苍井空教师BD在线观看全集 | 韩国伦理三级 | 18禁国产精品久久久久久麻豆 | 久草在线精彩免费视频 | 最近中文字幕MV免费高清视频8 | 18禁止看的免费污网站 | 国内九一激情白浆发布 | 攻把受做哭边走边肉楼梯PLAY | 被男按摩师添的好爽在线直播 | 睡觉被偷偷进入magnet | 亚洲欧美精品无码一区二在线 | 色婷婷国产精品视频一区二区 | 国产毛A片久久久久久无码 国产毛A片啊久久久久久A | 色婷婷我要去我去也 | 范冰冰hdxxxx | 国产福利不卡在线视频 | seyeye高清视频在线 | 找老女人泻火对白自拍 | 国产第一页在线视频 | 小处雏一区二区三区 | 久草在线福利视频在线播放 | 敌伦小芳的第一次 | 人妻天天爽夜夜爽三区麻豆A片 | 苍井空a 集在线观看网站 | 久久re这里视频只精品首页 | 国产99r视频精品免费观看 | 影音先锋色小姐 | 午夜福利合集1000在线 | 麻豆一二三四区乱码 | 亚洲视频在线看 | 日日踫夜夜爽无码久久 | ZZoo兽2皇 | 大屁股国产白浆一二区 | 国产一级毛片在线 |