前言
平時(shí)開發(fā)中可能遇到一個(gè)問題。采集網(wǎng)頁,小偷程序等等。各種花式秀正則的話,雖然能體現(xiàn)出geek,但是我覺得做事卻不夠優(yōu)雅。采集到的網(wǎng)頁說白了也是DOM,jQuery各種優(yōu)雅地獲取節(jié)點(diǎn)。幸好,有這個(gè)類庫,幫我們解決了這個(gè),那就是phpQuery.
為什么使用phpQuery
phpQuery是基于php5新添加的DOMDocument。而DOMDocument則是專門用來處理html/xml。它提供了強(qiáng)大的xpath選擇器及其他很多html/xml操作函數(shù),使得處理html/xml起來非常方便。
尤其對于新手,看到一堆”不知所云”的字符評湊在一起,有種腦袋都要炸了的感覺。如果要分離的對象沒有太明顯的特征,正則寫起來更是麻煩。
學(xué)習(xí)成本低,jQuery是PHP程序員的標(biāo)配,那么懂jQuery的話,是可以無縫銜接的,學(xué)習(xí)成本幾乎為0。選擇器,節(jié)點(diǎn),節(jié)點(diǎn)信息,over
下載地址
https://code.google.com/archive/p/phpquery/downloads(需要翻墻,或者自行百度phpQuery)
實(shí)驗(yàn)
既然開始了,那么就做個(gè)實(shí)驗(yàn),比如我們要獲取SF的所有標(biāo)簽名稱https://segmentfault.com/tags,審查元素,得到部分標(biāo)簽屬性。a class="tag" data-original-title="負(fù)載均衡">負(fù)載均衡/a>
Demo
?php
require("phpQuery.php");//導(dǎo)入phpQuery庫
$html = phpQuery::newDocumentFile("https://segmentfault.com/tags");
$hrefList = pq(".tag"); //獲取標(biāo)簽為a的所有對象$(".tag")
foreach ($hrefList as $href) {
echo $href->getAttribute("data-original-title"),"br>";
}
結(jié)果

總結(jié)
0.網(wǎng)頁采集真特么無腦暴力,成功繞過惡心的正則
1.寫法參照jQuery
2.體會(huì)Dom的思想
3.此類庫并非萬金油,更適合網(wǎng)頁采集
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- php+jQuery ajax實(shí)現(xiàn)的實(shí)時(shí)刷新顯示數(shù)據(jù)功能示例
- jquery+ajax實(shí)現(xiàn)上傳圖片并顯示上傳進(jìn)度功能【附php后臺(tái)接收】
- PHP結(jié)合jquery ajax實(shí)現(xiàn)上傳多張圖片,并限制圖片大小操作示例
- php使用QueryList輕松采集js動(dòng)態(tài)渲染頁面方法
- PHP中使用jQuery+Ajax實(shí)現(xiàn)分頁查詢多功能操作(示例講解)
- 使用PHP+MySql+Ajax+jQuery實(shí)現(xiàn)省市區(qū)三級聯(lián)動(dòng)功能示例
- php+jQuery實(shí)現(xiàn)的三級導(dǎo)航欄下拉菜單顯示效果