QueryList 簡介
QueryList是一套簡潔琅轧、優(yōu)雅的PHP采集工具伍绳,基于phpQuery。
特性#
擁有與jQuery完全相同的CSS3 DOM選擇器
擁有與jQuery完全相同的DOM操作API
擁有通用的列表采集方案
擁有強大的HTTP請求套件乍桂,輕松實現(xiàn)如:模擬登陸冲杀、偽造瀏覽器、HTTP代理等意復雜的網(wǎng)絡請求
擁有亂碼解決方案
擁有強大的內(nèi)容過濾功能睹酌,可使用jQuey選擇器來過濾內(nèi)容
擁有高度的模塊化設計权谁,擴展性強
擁有富有表現(xiàn)力的API
擁有高質量文檔
擁有豐富的插件
擁有專業(yè)的問答社區(qū)和交流群
通過插件可以輕松實現(xiàn)諸如:
多線程采集
圖片本地化
模擬瀏覽器行為,如:提交Form表單
網(wǎng)絡爬蟲
.....
環(huán)境要求#
PHP >= 7.0
安裝#
通過Composer安裝:
composerrequirejaeger/querylist
使用#
元素操作#
采集「昵圖網(wǎng)」所有圖片地址
QueryList::get('http://www.nipic.com')->find('img')->attrs('src');
采集百度搜索結果
$ql=QueryList::get('http://www.baidu.com/s?wd=QueryList');
$ql->find('title')->text(); //獲取網(wǎng)站標題
$ql->find('meta[name=keywords]')->content;//獲取網(wǎng)站頭部關鍵詞
$ql->find('h3>a')->texts();//獲取搜索結果標題列表
$ql->find('h3>a')->attrs('href');//獲取搜索結果鏈接列表
$ql->find('img')->src;//獲取第一張圖片的鏈接地址
$ql->find('img:eq(1)')->src;//獲取第二張圖片的鏈接地址
$ql->find('img')->eq(2)->src;//獲取第三張圖片的鏈接地址
//遍歷所有圖片
$ql->find('img')->map(function($img){echo$img->alt;//打印圖片的alt屬性});
列表采集#
采集百度搜索結果列表的標題和鏈接:
$data=QueryList::get('http://www.baidu.com/s?wd=QueryList')
// 設置采集規(guī)則
->rules(['title'=>array('h3','text'),'link'=>array('h3>a','href')])
->query()->getData();
print_r($data->all());
采集結果:
Array(
[0]=>Array([title]=>QueryList|基于phpQuery的無比強大的PHP采集工具 [link]=>http://www.baidu.com/link?url=GU_YbDT2IHk4ns1tjG2I8_vjmH0SCJEAPuuZN)
[1]=>Array([title]=>PHP用QueryList抓取網(wǎng)頁內(nèi)容-wb145230-博客園 [link]=>http://www.baidu.com/link?url=zn0DXBnrvIF2ibRVW34KcRVFG1_bCdZvqvwIhUqiXaS)
[2]=>Array([title]=>介紹-QueryList指導文檔 [link]=>http://www.baidu.com/link?url=pSypvMovqS4v2sWeQo5fDBJ4EoYhXYi0Lxx)
//...
)
GitHub 地址:https://github.com/jae-jae/QueryList?歡迎 star!