使用phpQuery輕鬆採集網頁內容

2022-07-08 21:06:07 字數 1251 閱讀 9292

phpquery是乙個基於php的服務端開源專案,它可以讓php開發人員輕鬆處理dom文件內容,比如獲取某新聞**的頭條資訊。更有意思的是,它採用了jquery的思想,你可以像使用jquery一樣處理頁面內容,獲取你想要的頁面資訊。

採集頭條

include 'phpquery/phpquery.php'; 

phpquery::newdocumentfile('');

echo pq(".blktop h1:eq(0)")->html();

簡單的三行**,就可以獲取頭條內容。首先在程式中包含phpquery.php核心程式,然後呼叫讀取目標網頁,最後輸出對應標籤下的內容。

pq()是乙個功能強大的方法,跟jquery的$()如出一轍,jquery的選擇器基本上都能使用在phpquery上,只要把「.」變成「->」。如上例中,pq(".blktop h1:eq(0)")抓取了頁面class屬性為blktop的div元素,並找到該div內部的第乙個h1標籤,然後用html()方法獲取h1標籤裡的內容(帶html標籤),也就是我們要獲取的頭條資訊,如果使用text()方法,則只獲取頭條的文字內容。當然要使用好phpquery,關鍵是要找對文件中對應內容的節點。

採集文章列表

include 'phpquery/phpquery.php'; 

phpquery::newdocumentfile('');

$artlist = pq(".blog_li");

foreach($artlist

as$li

)

通過迴圈列表中的div,找出文章標題並輸出,就是這麼簡單。

解析xml文件

假設現在有乙個這樣的test.xml文件:

<?xml version="1.0" encoding="utf-8"?> 

張三22

王五18

現在我要獲取名字為張三的聯絡人的年齡,**如下:

include 'phpquery/phpquery.php'; 

phpquery::newdocumentfile('test.xml');

echo pq('contact > age:eq(0)');

結果輸出:22

像jquery一樣,精準查詢文件節點,輸出節點下的內容,解析乙個xml文件就是這麼簡單。現在你不必為採集**內容而使用那些頭疼的正則演算法、內容替換等繁瑣的**了,有了phpquery,一切就變得輕鬆多了。

乙個基於phpQuery的php通用採集類分享

一 採集類原始碼 複製 如下 php 通用列表採集類 版本v1.3 作者 jae require once phpquery phpquery phpquery.php class querylist function setquery regarr,regrange private functio...

使用phpQuery 抓取HTML 頁面內容

使用phpquery 可以對html 頁面進行類似於jquery 一樣的操作。目的是進行html 資料的抓取,以及對html 檔案內容的補充等操作,完全就類似於jquery 一樣的操作。require once phpquery phpquery.php url html file get cont...

搜韻網詩詞採集

搜韻網詩詞採集,會封ip 建議使用 採集 import pymongo import requests from pyquery import pyquery as pq from urllib.parse import urljoin class poetry def init self self...