phpQuery采集網頁實現代碼實例
前言
平時開發(fā)中可能遇到一個問題。采集網頁,小偷程序等等。各種花式秀正則的話,雖然能體現出geek,但是我覺得做事卻不夠優(yōu)雅。采集到的網頁說白了也是DOM,jQuery各種優(yōu)雅地獲取節(jié)點。幸好,有這個類庫,幫我們解決了這個,那就是phpQuery.
為什么使用phpQuery
phpQuery是基于php5新添加的DOMDocument。而DOMDocument則是專門用來處理html/xml。它提供了強大的xpath選擇器及其他很多html/xml操作函數,使得處理html/xml起來非常方便。
尤其對于新手,看到一堆”不知所云”的字符評湊在一起,有種腦袋都要炸了的感覺。如果要分離的對象沒有太明顯的特征,正則寫起來更是麻煩。
學習成本低,jQuery是PHP程序員的標配,那么懂jQuery的話,是可以無縫銜接的,學習成本幾乎為0。選擇器,節(jié)點,節(jié)點信息,over
下載地址
https://code.google.com/archive/p/phpquery/downloads(需要翻墻,或者自行百度phpQuery)
實驗
既然開始了,那么就做個實驗,比如我們要獲取SF的所有標簽名稱https://segmentfault.com/tags,審查元素,得到部分標簽屬性。<a class="tag" data-original-title="負載均衡">負載均衡</a>
Demo
<?php require("phpQuery.php");//導入phpQuery庫 $html = phpQuery::newDocumentFile("https://segmentfault.com/tags"); $hrefList = pq(".tag"); //獲取標簽為a的所有對象$(".tag") foreach ($hrefList as $href) { echo $href->getAttribute("data-original-title"),"<br>"; }
結果
總結
0.網頁采集真特么無腦暴力,成功繞過惡心的正則
1.寫法參照jQuery
2.體會Dom的思想
3.此類庫并非萬金油,更適合網頁采集
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使用Smarty 獲取當前日期時間和格式化日期時間的方法詳解
本篇文章是對使用Smarty獲取當前日期時間和格式化日期時間的方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06PHP中使用Session配合Javascript實現文件上傳進度條功能
這篇文章主要介紹了PHP中使用Session配合Javascript實現文件上傳進度條功能,本文講解了實現原理,并給出了完整實現代碼,需要的朋友可以參考下2014-10-10PHP關于htmlspecialchars、strip_tags、addslashes的解釋
這篇文章主要介紹了PHP關于htmlspecialchars、strip_tags、addslashes的解釋,需要的朋友可以參考下2014-07-07PHP PDOStatement:bindParam插入數據錯誤問題分析
PHP PDOStatement:bindParam插入數據錯誤問題分析,開發(fā)中一定要注意2013-11-11