欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

PHP使用DOMDocument采集

采集是很多公司都做最的一件事,能夠快速的獲取別人辛苦得來(lái)的數(shù)據(jù),雖為不道義,但無(wú)法禁止!

創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計(jì),柯橋網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:柯橋等地區(qū)??聵蜃鼍W(wǎng)站價(jià)格咨詢:18982081108

PHP采集一般方式有:

  1. 正則采集。

  2. 使用DOM對(duì)象采集。

  3. 使用字符串函數(shù)提取。

這里只說(shuō)下DOM對(duì)象采集的一些問(wèn)題:

PHP有DOM對(duì)象專門用來(lái)處理HTML或XML文件,非常方便。

$dom = new DOMDocument('1.0','GBK');//創(chuàng)建DOM對(duì)象
@$dom->loadHTMLFile($url);//加載對(duì)應(yīng)的URL地址HTML內(nèi)容
$xpath=new DOMXPath($dom);//創(chuàng)建DOMXPath對(duì)象

DOMXPath對(duì)象是一個(gè)支持 XPath 路徑表達(dá)式,http://www.w3school.com.cn/xpath/

XPath 路徑表達(dá)式類似 JQuery選擇器一樣,可以方便的找到對(duì)應(yīng)的節(jié)點(diǎn)然后提取內(nèi)容,當(dāng)然 XPath 的選擇方式要遠(yuǎn)比 JQuery 多。而且還支持很多種函數(shù)處理。

注意:

@$dom->loadHTMLFile($url);//加載對(duì)應(yīng)的URL地址HTML內(nèi)容

這句代碼前面最好加上 @ 符號(hào),因?yàn)樵诩虞d解析HTML內(nèi)容時(shí),或多或少會(huì)出現(xiàn)錯(cuò)誤,如:在HTML頁(yè)面內(nèi)一些 & 符號(hào)要轉(zhuǎn)義成 & ,html實(shí)體符號(hào)必須以 ;結(jié)束等等 才能順利解析。而這類要求在采集過(guò)程中是不可能的。

采集過(guò)程中最讓人麻煩的是中文字符處理,使用正則采集時(shí),中文字符加在正則內(nèi)雖然方便但容易出錯(cuò),正則中寫入中文必須保證被采集的字符集與當(dāng)前系統(tǒng)代碼字符集是相同的,否則匹配很容易失敗。

使用DOMDocument解析HTML內(nèi)容,也容易出現(xiàn)中文問(wèn)題,一般是亂碼,其主要原因是HTML結(jié)構(gòu)不標(biāo)準(zhǔn),

出現(xiàn)亂碼都是字符集的問(wèn)題,一般在HTML的head標(biāo)簽要指定字符集

<meta http-equiv=Content-Type content="text/html;charset=gb2312">

當(dāng)這個(gè)標(biāo)簽不存在時(shí),DOMDocument在解析時(shí)就會(huì)以默認(rèn)的方式去解析這個(gè)HTML內(nèi)容,導(dǎo)致中文編碼錯(cuò)誤。

所以在使用DOMDocument采集時(shí)不要直接使用

@$dom->loadHTMLFile($url);//加載對(duì)應(yīng)的URL地址HTML內(nèi)容

方式直接加載HTML,這樣只要所采集的HTML內(nèi)容沒(méi)有包含字符集的指定,整個(gè)HTML內(nèi)容解析后中文就不能用。

最好使用:

$ch = curl_init($url);//創(chuàng)建連接
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);//輸出內(nèi)容
curl_setopt($ch, CURLOPT_TIMEOUT, 10);//設(shè)置超時(shí)時(shí)間
$html =  curl_exec($ch);//執(zhí)行連接,獲取內(nèi)容
if($err=curl_error($ch)){//判斷是否出錯(cuò)
   die($err);
}else{
    //判斷是否存在這個(gè)標(biāo)簽
   if(!stripos('"Content-Type"', $html)&&!stripos('content="text/html;', $html)){
       $meta='<head><meta http-equiv="Content-Type" content="text/html; charset=GBK" />';
       $html=str_replace('<head>', $meta, $html);
   }
}
curl_close($ch);
$dom = new DOMDocument('1.0','GBK');//創(chuàng)建DOM對(duì)象
@$dom->loadHTML($html);//加載對(duì)應(yīng)的URL地址HTML內(nèi)容
$xpath=new DOMXPath($dom);//創(chuàng)建DOMXPath對(duì)象

對(duì)應(yīng)所采集的頁(yè)面字符集,必須核對(duì)好。

DOMXPath有兩個(gè)函數(shù)用來(lái)操作內(nèi)部節(jié)點(diǎn):

query,和evaluate

query:取出給定的XPath表達(dá)式節(jié)點(diǎn)列表,只要表達(dá)式合法,返回DOMNodeList對(duì)象,否則返回false。

evaluate:取出給定XPath表達(dá)式節(jié)點(diǎn)列表,只要表達(dá)式合法并且有匹配的節(jié)點(diǎn)返回DOMNodeList對(duì)象,否則返回false。

兩個(gè)函數(shù)都是提取節(jié)點(diǎn),只是返回值上有些區(qū)別。

DOMNodeList 對(duì)象有一個(gè)函數(shù)和一個(gè)屬性:

/* 屬性,節(jié)點(diǎn)列表個(gè)數(shù) */
readonly publicint $length ;
/* 方法獲取第幾個(gè)節(jié)點(diǎn) */
DOMNode DOMNodelist::item ( int $index )

使用item函數(shù)獲取的節(jié)點(diǎn) DOMElement對(duì)象 ,

可以使用 getAttribute 獲取節(jié)點(diǎn)屬性值,也可以使用 nodeValue 屬性獲取節(jié)點(diǎn)內(nèi)容。

本文題目:PHP使用DOMDocument采集
文章分享:http://www.aaarwkj.com/article20/iposco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站收錄網(wǎng)站內(nèi)鏈、定制網(wǎng)站、網(wǎng)站改版響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
日本中文字幕在线播放一区| 欧美日韩国产综合下一页| 成熟女人毛茸茸的视频| 成人午夜欧美熟妇小视频| 亚洲一本一道久久香蕉| 四虎在线观看免费资源| 国产一区二区三区91精品| 久久精品一区二区三区不卡| 女同三人按摩高潮喷出| 高清一区二区三区不卡视频| 欧美女人又粗又长亚洲| 日韩欧美国产午夜精品| 色吊最新在线视频免费观看| 日本一区二区手机在线| 偷拍视频一区二区三区| 亚洲一级特黄高清录像| 国产一区二区三区不卡视频| 最新国产情侣夫妻激情| 青青草原在线免费视频| 国内一级黄色片免费观看| 亚洲欧美日韩精品二区| 国产传媒免费在线播放| 激情五月婷婷中文字幕| 精品熟妇人妻一区二区三区| 日韩欧美亚洲自拍另类| 国产精品传媒免费在线观看| 国产成人综合亚洲欧美在线| 男人的天堂成人午夜视频| 91九色国产在线播放| 青青草成人公开在线视频| 美女av在线免费观看| 免费国产污网站在线观看| 国产日产精品久久一区| 日本高清免费黄色录像| 亚洲美女高清一区二区三区| 欧美中日韩一区二区三区| 夜夜嗨精品免费视频播放| 欧美日韩亚洲精品三级| 日韩中文字幕不卡免费| 91桃色网站在线免费观看| 亚洲综合色视频在线播放|