欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

QueryList采集工具 v4.1.0

QueryList下載

  • 源碼大小:39KB
  • 源碼語言:簡體中文
  • 源碼類型:國產(chǎn)軟件
  • 源碼授權(quán):免費軟件
  • 源碼類別:php其它
  • 應(yīng)用平臺:PHP
  • 更新時間:2023-02-01
  • 網(wǎng)友評分:
360通過 騰訊通過 金山通過

情介紹

QueryList是一個基于phpQuery的簡潔、優(yōu)雅的PHP采集工具,具有高擴展性。

特性

1、擁有與jQuery完全相同的CSS3 DOM選擇器

2、擁有與jQuery完全相同的DOM操作API

3、擁有通用的列表采集方案

4、擁有強大的HTTP請求套件,輕松實現(xiàn)如:模擬登陸、偽造瀏覽器、HTTP代理等意復(fù)雜的網(wǎng)絡(luò)請求

5、擁有亂碼解決方案

6、擁有強大的內(nèi)容過濾功能,可使用jQuey選擇器來過濾內(nèi)容

7、擁有高度的模塊化設(shè)計,擴展性強

8、擁有富有表現(xiàn)力的API

9、擁有高質(zhì)量文檔

10、擁有豐富的插件

11、擁有專業(yè)的問答社區(qū)和交流群

通過插件可以輕松實現(xiàn)諸如:

1、多線程采集

2、采集JavaScript動態(tài)渲染的頁面 (PhantomJS/headless WebKit)

3、圖片本地化

4、模擬瀏覽器行為,如:提交Form表單

5、網(wǎng)絡(luò)爬蟲

6、.....

環(huán)境要求

PHP >= 7.0

如果你的PHP版本還停留在PHP5,或者不會使用Composer,你可以選擇使用QueryList3,QueryList3支持php5.3以及手動安裝。

安裝

通過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)站標題
$ql->find('meta[name=keywords]')->content; // 獲取網(wǎng)站頭部關(guān)鍵詞

$ql->find('h3>a')->texts(); //獲取搜索結(jié)果標題列表
$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é)點
//遍歷class為two元素下的所有孩子節(jié)點
$data = $ql->find('.two')->children()->map(function ($item){
//用is判斷節(jié)點類型
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é)果列表的標題和鏈接:

$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的無比強大的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指導(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,輸入編碼:自動識別
QueryList::get('https://top.etao.com')->encoding('UTF-8')->find('a')->texts();

HTTP網(wǎng)絡(luò)操作(GuzzleHttp)

攜帶cookie登錄新浪微博

//采集新浪微博需要登錄才能訪問的頁面
$ql = QueryList::get('http://weibo.com','param1=testvalue & params2=somevalue',[
'headers' => [
//填寫從瀏覽器獲取到的cookie
'Cookie' => 'SINAGLOBAL=546064; wb_cmtLike_2112031=1; wvr=6;....'
]
]);
//echo $ql->getHtml();
echo $ql->find('title')->text();
//輸出: 我的首頁 微博-隨時隨地發(fā)現(xiàn)新鮮事

使用Http代理

$urlParams = ['param1' => 'testvalue','params2' => 'somevalue'];
$opts = [
// 設(shè)置http代理
'proxy' => 'http://222.141.11.17:8118',
//設(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');
//采集需要登錄才能訪問的頁面
$ql->get('http://xxx.com/admin/page');
//echo $ql->getHtml();

Form表單操作

模擬登陸GitHub

// 獲取QueryList實例
$ql = QueryList::getInstance();
//獲取到登錄表單
$form = $ql->get('https://github.com/login')->find('form');

//填寫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功能擴展

自定義擴展一個myHttp方法:

$ql = QueryList::getInstance();

//綁定一個myHttp方法到QueryList對象
$ql->bind('myHttp',function ($url){
// $this 為當前的QueryList對象
$html = file_get_contents($url);
$this->setHtml($html);
return $this;
});

//然后就可以通過注冊的名字來調(diào)用
$data = $ql->myHttp('https://toutiao.io')->find('h3 a')->texts();
print_r($data->all());

或者把實現(xiàn)體封裝到class,然后這樣綁定:

$ql->bind('myHttp',function ($url){
return new MyHttp($this,$url);
});

插件使用

使用PhantomJS插件采集JavaScript動態(tài)渲染的頁面:

// 安裝時設(shè)置PhantomJS二進制文件路徑
$ql = QueryList::use(PhantomJs::class,'/usr/local/bin/phantomjs');

// 采集今日頭條手機版
$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
])
// 每個任務(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());
})
// 每個任務(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,
// 錯誤重試次數(shù)
'maxTry' => 3,
]);

插件

jae-jae/QueryList-PhantomJS: 使用PhantomJS采集JavaScript動態(tài)渲染的頁面

jae-jae/QueryList-CurlMulti : Curl多線程采集

jae-jae/QueryList-AbsoluteUrl : 轉(zhuǎn)換URL相對路徑到絕對路徑

jae-jae/QueryList-Rule-Google : 谷歌搜索引擎

jae-jae/QueryList-Rule-Baidu : 百度搜索引擎

 

載地址

下載錯誤?【投訴報錯】

氣源碼

關(guān)文章

  • Linkreate wordpress AI智能插件 v2.2.9

    wordpress文章內(nèi)容、圖片生成免費AI插件、AI前端交互、批量采集文章,接入兼容OpenAI、KIMI、文言一心等國內(nèi)外AI模型。歡迎需要的朋友下載使用...

  • wordpress文章自動添加標簽TAGs插件 v2.2 (Auto Tagging Plugin)

    一款專為WordPress網(wǎng)站設(shè)計的插件,旨在幫助用戶根據(jù)自定義標簽庫自動為文章添加標簽,你可以選擇匹配文章標題、內(nèi)容,甚至同時匹配兩者,插件根據(jù)標簽在文章中的出現(xiàn)次數(shù)來...

  • wordPress AI插件工具 v1.9

    wordpress文章內(nèi)容、圖片生成免費AI插件、AI前端交互、批量采集文章,接入兼容OpenAI、KIMI、文言一心等國內(nèi)外AI模型...

  • 妍怡家政小程序上門服務(wù)系統(tǒng)(前端+后端) v2.5

    妍怡家政小程序采用think PHP+uniapp+Node.js開發(fā),是一種基于微信平臺的輕量級應(yīng)用,這款源碼不僅能夠幫助家政服務(wù)提供商快速搭建自己的線上平臺,還能為用戶提供更加便捷...

  • DouPHP微信小程序管理系統(tǒng) v1.8 Release 20250415

    DouPHP小程序管理系統(tǒng)基于PHP+MYSQL架構(gòu)的,可用于開發(fā)各類微信小程序。功能模塊化安裝,可以根據(jù)自己的需要安裝所需模塊,歡迎需要的朋友下載使用...

  • 多個微信小程序源碼合集 v1.0

    微信小程序是一種輕量級的應(yīng)用開發(fā)平臺,由騰訊公司推出,主要應(yīng)用于移動端,旨在提供便捷的用戶體驗,無需下載安裝即可在微信內(nèi)使用...

  • 企孟CRM客戶管理系統(tǒng) v2.1.3

    企孟CRM客戶管理系統(tǒng),采用基于WEB的企業(yè)計算,采用PHP+MySQL進行開發(fā),性能穩(wěn)定可靠,歡迎需要的朋友下載使用...

  • Mtab書簽 v1.2.6

    mTab 新標簽頁--一個免費無廣告的組件式瀏覽器主頁。 多端同步、美觀易用的在線導(dǎo)航和新標簽頁工具,自主研發(fā)免費使用,幫助您高效管理網(wǎng)頁和應(yīng)用,更有便攜好玩的小組件供...

  • 魔眾幫助中心(多語言)系統(tǒng) v1.0.0

    魔眾幫助中心(多語言)系統(tǒng)是一款專業(yè)的多語言在線支持和幫助工具,為用戶的業(yè)務(wù)提供全球化的客戶支持解決方案,歡迎需要的朋友下載使用...

  • CDN靜態(tài)資源庫搭建源碼 v1.0.0

    類似staticCDN站點的CDN靜態(tài)文件資源管理系統(tǒng),可以搭建自己的CDN靜態(tài)資源站點,歡迎需要的朋友下載使用...

載聲明

☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的QueryList采集工具 v4.1.0資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。