1. 程式人生 > 程式設計 >phpQuery採集網頁實現程式碼例項

phpQuery採集網頁實現程式碼例項

前言

  平時開發中可能遇到一個問題。採集網頁,小偷程式等等。各種花式秀正則的話,雖然能體現出geek,但是我覺得做事卻不夠優雅。採集到的網頁說白了也是DOM,jQuery各種優雅地獲取節點。幸好,有這個類庫,幫我們解決了這個,那就是phpQuery.

為什麼使用phpQuery

phpQuery是基於php5新新增的DOMDocument。而DOMDocument則是專門用來處理html/xml。它提供了強大的xpath選擇器及其他很多html/xml操作函式,使得處理html/xml起來非常方便。

尤其對於新手,看到一堆”不知所云”的字元評湊在一起,有種腦袋都要炸了的感覺。如果要分離的物件沒有太明顯的特徵,正則寫起來更是麻煩。

學習成本低,jQuery是PHP程式設計師的標配,那麼懂jQuery的話,是可以無縫銜接的,學習成本幾乎為0。選擇器,節點,節點資訊,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>";
  }

結果

phpQuery採集網頁實現程式碼例項

總結

0.網頁採集真特麼無腦暴力,成功繞過噁心的正則

1.寫法參照jQuery

2.體會Dom的思想

3.此類庫並非萬金油,更適合網頁採集

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。