QueryList使用jQuery的方式來做採集,擁有豐富的外掛。
下面來演示QueryList
使用Baidu搜尋引擎
外掛輕鬆實現站內搜尋。
安裝
使用Composer安裝:
- 安裝QueryList
composer require jaeger/querylist
- 安裝Baidu搜尋引擎外掛
composer require jaeger/querylist-rule-baidu
外掛API
- Baidu baidu($pageNumber = 10):獲取百度搜尋引擎
class Baidu:
- Baidu search($keyword):設定搜尋關鍵詞
- Baidu setHttpOpt(array $httpOpt = []):設定HTTP選項,檢視: GuzzleHttp options
- int getCount():獲取搜尋結果總條數
- int getCountPage():獲取搜尋結果總頁數
- Collection page($page = 1,$realURL = false):獲取搜尋結果
使用
- 實現一個百度網盤資源搜尋引擎:
<?php
require 'vendor/autoload.php';
use QL\QueryList;
use QL\Ext\Baidu;
$ql = QueryList::use(Baidu::class);
// 搜尋百度網盤網站,包含‘百度’關鍵詞的資源
$searcher = $ql->baidu()->search('site:pan.baidu.com 百度');
// 獲取第一頁資料,並獲取真實URL連線地址
$data = $searcher->page(1,true);
print_r($data->all());
抓取結果:
Array
(
[0] => Array
(
[title] => 百度網盤_享你所想
[link] => http://pan.baidu.com/
)
[1] => Array
(
[title] => 百度網盤 客戶端下載
[link] => https://pan.baidu.com/download
)
[2] => Array
(
[title] => 百度網盤-開放平臺
[link] => https://pan.baidu.com/platform/read
)
// ....
)
- 更多用法
$baidu = $ql->baidu(15); // 設定每頁搜尋15條結果
$searcher = $baidu->search('QueryList');
$count = $searcher->getCount(); // 獲取搜尋結果總條數
$data = $searcher->page(1);
$data = $searcher->page(2);
$searcher = $baidu->search('php');
$countPage = $searcher->getCountPage(); // 獲取搜尋結果總頁數
for ($page = 1; $page <= $countPage; $page++)
{
$data = $searcher->page($page);
}
$data = $searcher->setHttpOpt([
// 設定http代理
'proxy' => 'http://222.141.11.17:8118',
// Set the timeout time in seconds
'timeout' => 30,
])->page(1);
Google搜尋引擎外掛
當然除了Baidu搜尋引擎外掛,QueryList也有Google搜尋引擎外掛,也可以實現同樣的功能。
文件: https://doc.querylist.cc/site/index/doc/43
GitHub: https://github.com/jae-jae/QueryList-Rule-...
本作品採用《CC 協議》,轉載必須註明作者和本文連結