鼓獅知識(shí)庫(kù)網(wǎng)站Sitemap生成器 v1.319KB / 06-29
鼓獅批量查詢網(wǎng)頁(yè)鏈接死鏈工具 v1.216KB / 06-23
Linkreate wordpress AI智能生成文章插件 v2.5.9886KB / 03-16
wordpress文章自動(dòng)添加標(biāo)簽TAGs插件 v2.2 (Auto Tagging Plugin)3KB / 03-09
wordPress AI插件工具 v1.9299KB / 02-22
妍怡家政小程序上門服務(wù)系統(tǒng)(前端+后端) v2.640MB / 01-04
DouPHP微信小程序管理系統(tǒng) v1.8 Release 202506124.4MB / 06-14
多個(gè)微信小程序源碼合集 v1.083.2MB / 10-21
企孟CRM客戶管理系統(tǒng) v2.2.110.9MB / 05-24
Mtab書(shū)簽 v1.2.65.9MB / 06-13
-
-
卡密分發(fā)系統(tǒng) v1.0.0 php其它 / 63KB
-
讀吧書(shū)網(wǎng) v3.5 正式版 php其它 / 7.16MB
-
Java家居管理系統(tǒng)(springboot源碼+數(shù)據(jù)庫(kù)+文檔) php其它 / 17.67MB
-
-
勾股OA辦公系統(tǒng) v5.8 php其它 / 7.6MB
-
meedu知識(shí)付費(fèi)解決方案 v4.9.25 php其它 / 4.18MB
-
-
-
詳情介紹
QueryList是一個(gè)基于phpQuery的簡(jiǎn)潔、優(yōu)雅的PHP采集工具,具有高擴(kuò)展性。
特性
1、擁有與jQuery完全相同的CSS3 DOM選擇器
2、擁有與jQuery完全相同的DOM操作API
3、擁有通用的列表采集方案
4、擁有強(qiáng)大的HTTP請(qǐng)求套件,輕松實(shí)現(xiàn)如:模擬登陸、偽造瀏覽器、HTTP代理等意復(fù)雜的網(wǎng)絡(luò)請(qǐng)求
5、擁有亂碼解決方案
6、擁有強(qiáng)大的內(nèi)容過(guò)濾功能,可使用jQuey選擇器來(lái)過(guò)濾內(nèi)容
7、擁有高度的模塊化設(shè)計(jì),擴(kuò)展性強(qiáng)
8、擁有富有表現(xiàn)力的API
9、擁有高質(zhì)量文檔
10、擁有豐富的插件
11、擁有專業(yè)的問(wèn)答社區(qū)和交流群
通過(guò)插件可以輕松實(shí)現(xiàn)諸如:
1、多線程采集
2、采集JavaScript動(dòng)態(tài)渲染的頁(yè)面 (PhantomJS/headless WebKit)
3、圖片本地化
4、模擬瀏覽器行為,如:提交Form表單
5、網(wǎng)絡(luò)爬蟲(chóng)
6、.....
環(huán)境要求
PHP >= 7.0
如果你的PHP版本還停留在PHP5,或者不會(huì)使用Composer,你可以選擇使用QueryList3,QueryList3支持php5.3以及手動(dòng)安裝。
安裝
通過(guò)Composer安裝:
composer require jaeger/querylist
使用
元素操作
采集「昵圖網(wǎng)」所有圖片地址
QueryList::get('http://www.nipic.com')->find('img')->attrs('src');
采集百度搜索結(jié)果
$ql = QueryList::get('http://www.baidu.com/s?wd=QueryList');
$ql->find('title')->text(); // 獲取網(wǎng)站標(biāo)題
$ql->find('meta[name=keywords]')->content; // 獲取網(wǎng)站頭部關(guān)鍵詞$ql->find('h3>a')->texts(); //獲取搜索結(jié)果標(biāo)題列表
$ql->find('h3>a')->attrs('href'); //獲取搜索結(jié)果鏈接列表$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屬性
});
更多用法
$ql->find('#head')->append('<div>追加內(nèi)容</div>')->find('div')->htmls();
$ql->find('.two')->children('img')->attrs('alt'); //獲取class為two元素下的所有img孩子節(jié)點(diǎn)
//遍歷class為two元素下的所有孩子節(jié)點(diǎn)
$data = $ql->find('.two')->children()->map(function ($item){
//用is判斷節(jié)點(diǎn)類型
if($item->is('a')){
return $item->text();
}elseif($item->is('img'))
{
return $item->alt;
}
});$ql->find('a')->attr('href', 'newVal')->removeClass('className')->html('newHtml')->...
$ql->find('div > p')->add('div > ul')->filter(':has(a)')->find('p:first')->nextAll()->andSelf()->...
$ql->find('div.old')->replaceWith( $ql->find('div.new')->clone())->appendTo('.trash')->prepend('Deleted')->...
列表采集
采集百度搜索結(jié)果列表的標(biāo)題和鏈接:
$data = QueryList::get('http://www.baidu.com/s?wd=QueryList')
// 設(shè)置采集規(guī)則
->rules([
'title'=>array('h3','text'),
'link'=>array('h3>a','href')
])
->query()->getData();print_r($data->all());
采集結(jié)果:
Array
(
[0] => Array
(
[title] => QueryList|基于phpQuery的無(wú)比強(qiáng)大的PHP采集工具
[link] => http://www.baidu.com/link?url=GU_YbDT2IHk4ns1tjG2I8_vjmH0SCJEAPuuZN
)
[1] => Array
(
[title] => PHP 用QueryList抓取網(wǎng)頁(yè)內(nèi)容 - wb145230 - 博客園
[link] => http://www.baidu.com/link?url=zn0DXBnrvIF2ibRVW34KcRVFG1_bCdZvqvwIhUqiXaS
)
[2] => Array
(
[title] => 介紹- QueryList指導(dǎo)文檔
[link] => http://www.baidu.com/link?url=pSypvMovqS4v2sWeQo5fDBJ4EoYhXYi0Lxx
)
//...
)
編碼轉(zhuǎn)換
// 輸出編碼:UTF-8,輸入編碼:GB2312
QueryList::get('https://top.etao.com')->encoding('UTF-8','GB2312')->find('a')->texts();// 輸出編碼:UTF-8,輸入編碼:自動(dòng)識(shí)別
QueryList::get('https://top.etao.com')->encoding('UTF-8')->find('a')->texts();
HTTP網(wǎng)絡(luò)操作(GuzzleHttp)
攜帶cookie登錄新浪微博
//采集新浪微博需要登錄才能訪問(wèn)的頁(yè)面
$ql = QueryList::get('http://weibo.com','param1=testvalue & params2=somevalue',[
'headers' => [
//填寫(xiě)從瀏覽器獲取到的cookie
'Cookie' => 'SINAGLOBAL=546064; wb_cmtLike_2112031=1; wvr=6;....'
]
]);
//echo $ql->getHtml();
echo $ql->find('title')->text();
//輸出: 我的首頁(yè) 微博-隨時(shí)隨地發(fā)現(xiàn)新鮮事
使用Http代理
$urlParams = ['param1' => 'testvalue','params2' => 'somevalue'];
$opts = [
// 設(shè)置http代理
'proxy' => 'http://222.141.11.17:8118',
//設(shè)置超時(shí)時(shí)間,單位:秒
'timeout' => 30,
// 偽造http頭
'headers' => [
'Referer' => 'https://querylist.cc/',
'User-Agent' => 'testing/1.0',
'Accept' => 'application/json',
'X-Foo' => ['Bar', 'Baz'],
'Cookie' => 'abc=111;xxx=222'
]
];
$ql->get('http://httpbin.org/get',$urlParams,$opts);
// echo $ql->getHtml();
模擬登錄
// 用post登錄
$ql = QueryList::post('http://xxxx.com/login',[
'username' => 'admin',
'password' => '123456'
])->get('http://xxx.com/admin');
//采集需要登錄才能訪問(wèn)的頁(yè)面
$ql->get('http://xxx.com/admin/page');
//echo $ql->getHtml();
Form表單操作
模擬登陸GitHub
// 獲取QueryList實(shí)例
$ql = QueryList::getInstance();
//獲取到登錄表單
$form = $ql->get('https://github.com/login')->find('form');//填寫(xiě)GitHub用戶名和密碼
$form->find('input[name=login]')->val('your github username or email');
$form->find('input[name=password]')->val('your github password');//序列化表單數(shù)據(jù)
$fromData = $form->serializeArray();
$postData = [];
foreach ($fromData as $item) {
$postData[$item['name']] = $item['value'];
}//提交登錄表單
$actionUrl = 'https://github.com'.$form->attr('action');
$ql->post($actionUrl,$postData);
//判斷登錄是否成功
// echo $ql->getHtml();
$userName = $ql->find('.header-nav-current-user>.css-truncate-target')->text();
if($userName)
{
echo '登錄成功!歡迎你:'.$userName;
}else{
echo '登錄失敗!';
}
Bind功能擴(kuò)展
自定義擴(kuò)展一個(gè)myHttp方法:
$ql = QueryList::getInstance();
//綁定一個(gè)myHttp方法到QueryList對(duì)象
$ql->bind('myHttp',function ($url){
// $this 為當(dāng)前的QueryList對(duì)象
$html = file_get_contents($url);
$this->setHtml($html);
return $this;
});//然后就可以通過(guò)注冊(cè)的名字來(lái)調(diào)用
$data = $ql->myHttp('https://toutiao.io')->find('h3 a')->texts();
print_r($data->all());
或者把實(shí)現(xiàn)體封裝到class,然后這樣綁定:
$ql->bind('myHttp',function ($url){
return new MyHttp($this,$url);
});
插件使用
使用PhantomJS插件采集JavaScript動(dòng)態(tài)渲染的頁(yè)面:
// 安裝時(shí)設(shè)置PhantomJS二進(jìn)制文件路徑
$ql = QueryList::use(PhantomJs::class,'/usr/local/bin/phantomjs');// 采集今日頭條手機(jī)版
$data = $ql->browser('https://m.toutiao.com')->find('p')->texts();
print_r($data->all());// 使用HTTP代理
$ql->browser('https://m.toutiao.com',false,[
'--proxy' => '192.168.1.42:8080',
'--proxy-type' => 'http'
])
使用CURL多線程插件,多線程采集GitHub排行榜:
$ql = QueryList::use(CurlMulti::class);
$ql->curlMulti([
'https://github.com/trending/php',
'https://github.com/trending/go',
//.....more urls
])
// 每個(gè)任務(wù)成功完成調(diào)用此回調(diào)
->success(function (QueryList $ql,CurlMulti $curl,$r){
echo "Current url:{$r['info']['url']} \r\n";
$data = $ql->find('h3 a')->texts();
print_r($data->all());
})
// 每個(gè)任務(wù)失敗回調(diào)
->error(function ($errorInfo,CurlMulti $curl){
echo "Current url:{$errorInfo['info']['url']} \r\n";
print_r($errorInfo['error']);
})
->start([
// 最大并發(fā)數(shù)
'maxThread' => 10,
// 錯(cuò)誤重試次數(shù)
'maxTry' => 3,
]);
插件
jae-jae/QueryList-PhantomJS: 使用PhantomJS采集JavaScript動(dòng)態(tài)渲染的頁(yè)面
jae-jae/QueryList-CurlMulti : Curl多線程采集
jae-jae/QueryList-AbsoluteUrl : 轉(zhuǎn)換URL相對(duì)路徑到絕對(duì)路徑
jae-jae/QueryList-Rule-Google : 谷歌搜索引擎
jae-jae/QueryList-Rule-Baidu : 百度搜索引擎
下載地址
人氣源碼

PHP操作excel類(PHPExcel) 1.8
phpqrcode php生成二維碼庫(kù)
php excel reader php版 v2.21 Excel開(kāi)發(fā)包
ThinkPHP v3.2.3 完整包 帶擴(kuò)展、示例和文檔完整包
php mysql 導(dǎo)航網(wǎng)站后臺(tái)管理系統(tǒng)
淘寶客程序全自動(dòng)采集版源碼 php版 v2018.6.6
最新工單系統(tǒng) 商業(yè)開(kāi)源版 php版 v3.2
FlexPaper Flex在線顯示PDF文檔的php源碼
php 易問(wèn)卷網(wǎng)絡(luò)問(wèn)卷調(diào)查系統(tǒng) v1.0
php問(wèn)答系統(tǒng) phpMyFAQ v3.2.10 多國(guó)語(yǔ)言版
相關(guān)文章
-
鼓獅知識(shí)庫(kù)網(wǎng)站Sitemap生成器 v1.3鼓獅知識(shí)庫(kù)網(wǎng)站Sitemap生成器,支持同時(shí)提交多條網(wǎng)址獲取網(wǎng)址鏈接生成標(biāo)準(zhǔn)的符合主流搜索引擎讀取的Sitemap文件,支持多個(gè)網(wǎng)址篩選條件,方便獲取網(wǎng)頁(yè)里不同網(wǎng)址名稱的鏈接...
-
鼓獅批量查詢網(wǎng)頁(yè)鏈接死鏈工具 v1.2鼓獅批量網(wǎng)頁(yè)鏈接死鏈查詢工具,支持同時(shí)查詢20個(gè)網(wǎng)址,能顯示查詢進(jìn)度,顯示網(wǎng)址鏈接情況報(bào)告,包括找到鏈接數(shù),檢查唯一鏈接數(shù),聯(lián)通 (OK/Redirect)鏈接數(shù),失效鏈接數(shù)等...
-
Linkreate wordpress AI智能生成文章插件 v2.5.9wordpress文章內(nèi)容、圖片生成免費(fèi)AI插件、AI前端交互、批量采集文章,接入兼容OpenAI、KIMI、文言一心等國(guó)內(nèi)外AI模型。歡迎需要的朋友下載使用...
-
wordpress文章自動(dòng)添加標(biāo)簽TAGs插件 v2.2 (Auto Tagging Plugin)一款專為WordPress網(wǎng)站設(shè)計(jì)的插件,旨在幫助用戶根據(jù)自定義標(biāo)簽庫(kù)自動(dòng)為文章添加標(biāo)簽,你可以選擇匹配文章標(biāo)題、內(nèi)容,甚至同時(shí)匹配兩者,插件根據(jù)標(biāo)簽在文章中的出現(xiàn)次數(shù)來(lái)...
-
wordPress AI插件工具 v1.9wordpress文章內(nèi)容、圖片生成免費(fèi)AI插件、AI前端交互、批量采集文章,接入兼容OpenAI、KIMI、文言一心等國(guó)內(nèi)外AI模型...
-
妍怡家政小程序上門服務(wù)系統(tǒng)(前端+后端) v2.6妍怡家政小程序采用think PHP+uniapp+Node.js開(kāi)發(fā),是一種基于微信平臺(tái)的輕量級(jí)應(yīng)用,這款源碼不僅能夠幫助家政服務(wù)提供商快速搭建自己的線上平臺(tái),還能為用戶提供更加便捷...
-
DouPHP微信小程序管理系統(tǒng) v1.8 Release 20250612DouPHP小程序管理系統(tǒng)基于PHP+MYSQL架構(gòu)的,可用于開(kāi)發(fā)各類微信小程序。功能模塊化安裝,可以根據(jù)自己的需要安裝所需模塊,歡迎需要的朋友下載使用...
-
多個(gè)微信小程序源碼合集 v1.0微信小程序是一種輕量級(jí)的應(yīng)用開(kāi)發(fā)平臺(tái),由騰訊公司推出,主要應(yīng)用于移動(dòng)端,旨在提供便捷的用戶體驗(yàn),無(wú)需下載安裝即可在微信內(nèi)使用...
-
企孟CRM客戶管理系統(tǒng) v2.2.1企孟CRM客戶管理系統(tǒng),采用基于WEB的企業(yè)計(jì)算,采用PHP+MySQL進(jìn)行開(kāi)發(fā),性能穩(wěn)定可靠,歡迎需要的朋友下載使用...
-
Mtab書(shū)簽 v1.2.6mTab 新標(biāo)簽頁(yè)--一個(gè)免費(fèi)無(wú)廣告的組件式瀏覽器主頁(yè)。 多端同步、美觀易用的在線導(dǎo)航和新標(biāo)簽頁(yè)工具,自主研發(fā)免費(fèi)使用,幫助您高效管理網(wǎng)頁(yè)和應(yīng)用,更有便攜好玩的小組件供...
下載聲明
☉ 解壓密碼:www.fzitv.net 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過(guò)一段時(shí)間重試!或者多試試幾個(gè)下載地址
☉ 如果遇到什么問(wèn)題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問(wèn)題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購(gòu)買正版。
☉ 本站提供的QueryList采集工具 v4.1.0資源來(lái)源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。


