PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

PHP使用QueryList轻松实现一个百度网盘资源搜索引擎

藏色散人
藏色散人 转载
2019-10-16 14:13:13 4526浏览

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 &#39;vendor/autoload.php&#39;;
use QL\QueryList;
use QL\Ext\Baidu;
$ql = QueryList::use(Baidu::class);
// 搜索百度网盘网站,包含‘百度’关键词的资源
$searcher = $ql->baidu()->search(&#39;site:pan.baidu.com 百度&#39;);
// 获取第一页数据,并获取真实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(&#39;QueryList&#39;);
$count = $searcher->getCount();  // 获取搜索结果总条数
$data = $searcher->page(1);
$data = $searcher->page(2);
$searcher = $baidu->search(&#39;php&#39;);
$countPage = $searcher->getCountPage(); // 获取搜索结果总页数
for ($page = 1; $page <= $countPage; $page++)
{
    $data = $searcher->page($page);
}
$data = $searcher->setHttpOpt([
    // 设置http代理
    &#39;proxy&#39; => &#39;http://222.141.11.17:8118&#39;,
   // Set the timeout time in seconds
    &#39;timeout&#39; => 30,
])->page(1);

Google搜索引擎插件

当然除了Baidu搜索引擎插件,QueryList也有Google搜索引擎插件,也可以实现同样的功能。

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

更多PHP相关知识,请访问PHP中文网

声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除