跳到主要內容

發表文章

目前顯示的是 1月, 2012的文章

[野人獻曝] phpQuery的使用簡介

既然要爬資料,有個好用的工具當然是會比較好啦。 正所謂工欲善其事,必先利其器。 所以本次要來介紹一下 phpQuery 這個玩意。 什麼是phpQuery?從字面上你應該很容易聯想到 jQuery , 事實上,他就是php版的jQuery, 因此我們可以很簡單地用這個玩意去巡覽HTML元素的內容, 達到我們想爬資料的目的。 事實上,過年期間我在寫爬 Android Market 資料時, 就是用這個玩意幫我處理掉擷取app資訊的麻煩事。 以下稍微講解一下簡單用法: 在phpQuery的專案網站下載主要的類別檔,這個壓縮黨內只有一個檔案。下載後解壓縮到你要的地方後就可以了。 接著開啟編輯器來寫一段範例程式碼吧: <?php // 引入檔案 require '{phpQuery的主檔案}"; /* 這裡是要取得HTML內容的地方,請自行處理 不過為了示範方便,我們假設抓到的東西放在$html這個變數中 */ $pq = phpQuery::newDocument($html); // 接著就可以用這種方式找到某個元素內的html內容 $strContent = pq("你要找的元素路徑", $pq)->html(); // 或是某個元素內的屬性 $strContent = pq("你要找的元素路徑", $pq)->attr("某個屬性名稱"); // 也包括某個元素中的文字節點 $strContent = pq("你要找的元素路徑", $pq)->text(); // 最後,為了避免phpQuery吃光記憶體,可以下這行放掉所有已用的記憶體 phpQuery::$documents = array(); ?> 以上是簡單利用phpQuery作尋覽的範例, 當然phpQuery也是可以作HTML元素的內容維護, 使用方法與jQuery一樣, 所以這方面可以參考 phpQuery的說明文件 就好。