PHP使用QueryList輕鬆實現一個百度網路硬碟資源搜尋引擎

2020-07-16 10:05:53
QueryList使用jQuery的方式來做採集,擁有豐富的外掛。

下面來演示QueryList使用Baidu搜尋引擎外掛輕鬆實現站內搜尋。

安裝

使用Composer安裝:

安裝QueryList

composer require jaeger/querylist

GitHub: https://github.com/jae-jae/Qu...

安裝Baidu搜尋引擎外掛

composer require jaeger/querylist-rule-baidu

GitHub: https://github.com/jae-jae/Qu...

外掛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 QLQueryList;
use QLExtBaidu;
$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搜尋引擎外掛,也可以實現同樣的功能。

GitHub: https://github.com/jae-jae/Qu...

更多PHP相關知識,請存取PHP中文網

以上就是PHP使用QueryList輕鬆實現一個百度網路硬碟資源搜尋引擎的詳細內容,更多請關注TW511.COM其它相關文章!