校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP 爬取網頁的主要方法

PHP 爬取網頁的主要方法

熱門標簽:沈陽人工智能電銷機器人公司 寶安400電話辦理 哈爾濱400電話辦理到易號網 拉薩打電話機器人 電銷機器人-快迭智能 高識別電銷機器人 合肥外呼系統app 智能外呼電銷系統 h5 地圖標注

主要流程就是獲取整個網頁,然后正則匹配(關鍵的)。

PHP抓取頁面的主要方法,有幾種方法是網上前輩的經驗,現在還沒有用到的,先存下來以后試試。

1.file()函數

2.file_get_contents()函數

3.fopen()->fread()->fclose()模式

4.curl方式 (本人主要用這個)

5.fsockopen()函數 socket模式

6.插件(如:http://sourceforge.net/projects/snoopy/)

7.file()函數

?php
//定義url
$url='[http://t.qq.com](http://t.qq.com/)';//fiel函數讀取內容數組
$lines_array=file($url);//拆分數組為字符串
$lines_string=implode('',$lines_array);//輸出內容
echo $lines_string; 

2.使用file_get_contents方法實現,比較簡單。

使用file_get_contents和fopen必須空間開啟allow_url_fopen。方法:編輯php.ini,設置 allow_url_fopen = On,allow_url_fopen關閉時fopen和file_get_contents都不能打開遠程文件。

$url="[http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml](http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml)";
$html=file_get_contents($url);
//如果出現中文亂碼使用下面代碼`
//$getcontent = iconv("gb2312", "utf-8",$html);
echo"textarea style='width:800px;height:600px;'>".$html."/textarea>";

3.fopen()->fread()->fclose()模式 ,目前還沒用過,看到了就先記下了

?php
//定義url
$url='[http://t.qq.com](http://t.qq.com/)';//fopen以二進制方式打開 
$handle=fopen($url,"rb");//變量初始化
$lines_string="";//循環讀取數據
do{
$data=fread($handle,1024);  
if(strlen($data)==0) {`
break; 
} 
$lines_string.=$data;
}while(true);//關閉fopen句柄,釋放資源
fclose($handle);//輸出內容
echo $lines_string;

4.使用curl實現(本人一般使用這個)。

使用curl必須空間開啟curl。方法:windows下修改php.ini,將extension=php_curl.dll前面的分號去掉,而且需 要拷貝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安裝curl擴展。

?php
header("Content-Type: text/html;charset=utf-8");
date_default_timezone_set('PRC');
$url = "https://***********ycare";//要爬取的網址
$res = curl_get_contents($url);//curl封裝方法
preg_match_all('/script>(.*?)\/script>/',$res,$arr_all);//這個網頁中數據通過js包過來,所以直接抓js就可以
preg_match_all('/"id"\:"(.*?)",/',$arr_all[1][1],$arr1);//從js塊中匹配要的數據
$list = array_unique($arr1[1]);//(可?。┍WC不重復
//以下則是同理,循環則可
for($i=0;$i=6;$i=$i+2){
  $detail_url = 'ht*****em/'.$list[$i];
  $detail_res = curl_get_contents($detail_url);
  preg_match_all('/script>(.*?)\/script>/',$detail_res,$arr_detail);
  preg_match('/"desc"\:"(.*?)",/',$arr_detail[1][1],$arr_content);
  ***
    ***
    ***
  $ret=curl_post('http://**********cms.php',$result);//此腳本未放在服務器上,原因大家懂就好哈。
}
function curl_get_contents($url,$cookie='',$referer='',$timeout=300,$ishead=0) {
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
  curl_setopt($curl, CURLOPT_URL,$url);
  curl_setopt($curl, CURLOPT_TIMEOUT,$timeout);
  curl_setopt($curl, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36');
  if($cookie)
  {
    curl_setopt( $curl, CURLOPT_COOKIE,$cookie);
  }
  if($referer)
  {
    curl_setopt ($curl,CURLOPT_REFERER,$referer);
  }
  $ssl = substr($url, 0, 8) == "https://" ? TRUE : FALSE;
  if ($ssl)
  {
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  }
  $res = curl_exec($curl);
  return $res;
  curl_close($curl);
}
//curl post數據到服務器
function curl_post($url,$data){
  $ch = curl_init();
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  //curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36');
  curl_setopt($ch,CURLOPT_URL,$url);
  curl_setopt($ch,CURLOPT_POST,true);
  curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
  $output = curl_exec($ch);
  curl_close($ch);
  return $output; 
}
?>

5.fsockopen()函數 socket模式(沒用過,以后可以試試)

socket模式能否正確執行,也跟服務器的設置有關系,具體可以通過phpinfo查看服務器開啟了哪些通信協議

?php
$fp = fsockopen("t.qq.com", 80, $errno, $errstr, 30);
if (!$fp) {
  echo "$errstr ($errno)br />\n";
} else {
  $out = "GET / HTTP/1.1\r\n";
  $out .= "Host: t.qq.com\r\n";
  $out .= "Connection: Close\r\n\r\n";
  fwrite($fp, $out);
  while (!feof($fp)) {
    echo fgets($fp, 128);
  }
  fclose($fp);
}

6.snoopy插件,最新版本是Snoopy-1.2.4.zip Last Update: 2013-05-30,推薦大家使用

使用網上非常流行的snoopy來進行采集,這是一個非常強大的采集插件,并且它的使用非常方便,你也可以在里面設置agent來模擬瀏覽器信息。

說明:設置agent是在 Snoopy.class.php 文件的第45行,請在該文件中搜索 “var 公式輸入有誤_SERVER['HTTP_USER_AGENT']; 可以得到瀏覽器信息,將echo出來的內容復制到agent里面就可以了。

?php
//引入snoopy的類文件
require('Snoopy.class.php');
//初始化snoopy類
$snoopy=new Snoopy;
$url="[http://t.qq.com](http://t.qq.com/)";
//開始采集內容`
$snoopy->fetch($url);
//保存采集內容到$lines_string
$lines_string=$snoopy->results;
//輸出內容,嘿嘿,大家也可以保存在自己的服務器上
echo $lines_string;

總結

以上所述是小編給大家介紹的PHP 爬取網頁的主要方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • php實現的支付寶網頁支付功能示例【基于TP5框架】
  • Windows平臺PHP+IECapt實現網頁批量截圖并創建縮略圖功能詳解
  • php實現網頁上一頁下一頁翻頁過程詳解
  • 實例分析基于PHP微信網頁獲取用戶信息
  • php實現網頁常見文件上傳功能
  • php中抓取網頁內容的實例詳解
  • php編程實現簡單的網頁版計算器功能示例
  • PHP網頁緩存技術優點及代碼實例

標簽:泰州 林芝 威海 成都 張家口 梅州 山東 巴中

巨人網絡通訊聲明:本文標題《PHP 爬取網頁的主要方法》,本文關鍵詞  PHP,爬取,網頁,的,主要,方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP 爬取網頁的主要方法》相關的同類信息!
  • 本頁收集關于PHP 爬取網頁的主要方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美裸体bbwbbwbbw| 国产精品视频九色porn| 国产欧美1区2区3区| 亚洲一区二区影院| 成人激情电影免费在线观看| 欧美日韩国产不卡| 中文字幕巨乱亚洲| 久草热8精品视频在线观看| 91丝袜美女网| 久久久99精品久久| 日韩专区中文字幕一区二区| 成人黄色a**站在线观看| 26uuu亚洲综合色| 日韩激情av在线| 在线观看精品一区| 欧美高清在线一区二区| 国产麻豆成人精品| 精品国产乱码久久久久久影片| 亚洲在线视频免费观看| 99久久久久免费精品国产| 精品国产免费一区二区三区四区 | 午夜久久电影网| 成人aa视频在线观看| 26uuu国产电影一区二区| 亚洲成人资源网| 欧美日韩你懂的| 午夜在线成人av| 正在播放一区二区| 日本不卡不码高清免费观看| 欧美午夜电影在线播放| 依依成人精品视频| 欧美视频一区二区三区在线观看 | 色悠悠久久综合| 亚洲女与黑人做爰| 一本色道久久综合亚洲精品按摩| 国产精品福利av| 91福利国产精品| 亚洲动漫第一页| 91精品国产全国免费观看| 日韩成人一级大片| 精品国产制服丝袜高跟| 国产精品一区二区久激情瑜伽 | 国产自产2019最新不卡| 久久蜜桃一区二区| 成人高清免费观看| 亚洲乱码国产乱码精品精可以看| 欧美亚洲动漫制服丝袜| 日韩精品欧美精品| 久久你懂得1024| 91精品福利视频| 毛片一区二区三区| 国产亚洲短视频| 91蜜桃网址入口| 日本视频在线一区| 国产偷v国产偷v亚洲高清| 成人app网站| 亚洲国产中文字幕在线视频综合| 欧美一区二区三区四区在线观看 | 91在线观看美女| 亚洲国产日韩一级| 精品福利在线导航| 色综合久久综合网欧美综合网 | 日韩欧美一卡二卡| 国产经典欧美精品| 亚洲丝袜美腿综合| 日韩网站在线看片你懂的| 粉嫩av一区二区三区粉嫩| 亚洲五码中文字幕| 久久久影视传媒| 欧美片网站yy| 成人18视频日本| 日韩av网站免费在线| 中文在线资源观看网站视频免费不卡 | 91亚洲精品久久久蜜桃网站| 亚洲伊人色欲综合网| 久久久精品天堂| 欧美日韩极品在线观看一区| 国产美女精品一区二区三区| 亚洲美女精品一区| 国产亚洲一区二区三区四区 | 国产**成人网毛片九色| 亚洲国产成人av好男人在线观看| 久久久亚洲精品石原莉奈| 欧美美女喷水视频| 94-欧美-setu| 国产一区二区三区视频在线播放| 亚洲第一主播视频| 中文字幕一区二区三区乱码在线| 欧美成人三级在线| 欧美日韩精品一区二区三区| 国产白丝精品91爽爽久久| 日本亚洲三级在线| 性感美女久久精品| 亚洲免费av高清| **性色生活片久久毛片| 久久久久久久久99精品| 在线播放亚洲一区| 欧美日韩aaaaa| 在线视频观看一区| 97久久久精品综合88久久| 精品在线一区二区三区| 免费日本视频一区| 日韩高清一级片| 亚洲韩国精品一区| 亚洲丰满少妇videoshd| 亚洲自拍偷拍麻豆| 亚洲国产日韩一区二区| 亚洲自拍偷拍欧美| 亚洲自拍偷拍av| 亚洲电影在线免费观看| 亚洲图片欧美色图| 日韩va欧美va亚洲va久久| 天堂成人国产精品一区| 亚洲欧美日韩中文播放 | 成人一级视频在线观看| 国产成人av福利| 国产成人av电影在线| 三级影片在线观看欧美日韩一区二区| 亚洲午夜激情av| 午夜欧美在线一二页| 成人欧美一区二区三区1314 | 蜜乳av一区二区三区| 美女脱光内衣内裤视频久久网站| 日韩成人免费电影| 精品在线播放午夜| 国产成人av资源| 97久久超碰国产精品| 在线欧美日韩国产| 欧美一区二区免费| 久久这里只有精品视频网| 国产日韩精品一区| 亚洲人成7777| 日韩高清一区二区| 国产成人福利片| 欧美午夜在线一二页| 欧美一二区视频| 欧美国产视频在线| 亚洲国产中文字幕| 经典三级视频一区| jiyouzz国产精品久久| 欧美日韩久久久久久| 欧美大胆人体bbbb| 亚洲欧洲另类国产综合| 天天综合日日夜夜精品| 国产精品一区二区在线播放 | 亚洲成国产人片在线观看| 日韩av网站免费在线| 夫妻av一区二区| 欧美中文字幕亚洲一区二区va在线| 欧美男男青年gay1069videost| 精品国产百合女同互慰| 中文字幕字幕中文在线中不卡视频| 一区二区三区欧美亚洲| 麻豆高清免费国产一区| 99久久精品99国产精品| 欧美一区二区视频网站| 亚洲日本免费电影| 国产一区日韩二区欧美三区| 色综合av在线| 国产日韩欧美电影| 蜜臀a∨国产成人精品| 91蝌蚪国产九色| 久久亚洲综合色一区二区三区| 一区二区三区成人| 成人污视频在线观看| 日韩午夜在线影院| 亚洲一区二区成人在线观看| 国产电影精品久久禁18| 日韩亚洲欧美综合| 一区二区三区精品在线观看| 国产成人在线观看免费网站| 欧美高清视频一二三区 | 91久久精品国产91性色tv| 久久综合久久99| 免费精品视频在线| 欧美在线制服丝袜| 亚洲免费三区一区二区| 丰满放荡岳乱妇91ww| 欧美不卡视频一区| 亚洲v中文字幕| 97久久精品人人爽人人爽蜜臀| 久久毛片高清国产| 国产中文字幕一区| 91精品国产丝袜白色高跟鞋| 亚洲欧美日韩一区| 成人午夜视频福利| 国产精品五月天| 国产suv精品一区二区6| 久久久久久日产精品| 加勒比av一区二区| 精品国产青草久久久久福利| 丝袜国产日韩另类美女| 在线视频你懂得一区| 日韩在线一二三区| 久久久美女艺术照精彩视频福利播放| 激情都市一区二区| 亚洲大片一区二区三区| 日韩午夜在线播放| 欧美欧美午夜aⅴ在线观看| 日韩欧美一区电影|