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

QueryList 使用 jQuery 的方式来做采集,拥有丰富的插件。

下面来演示 QueryList 使用 Baidu搜索引擎插件轻松实现站内搜索。

安装#

使用 Composer 安装:

  • 安装 QueryList
composer require jaeger/querylist

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

  • 安装 Baidu 搜索引擎插件
    composer require jaeger/querylist-rule-baidu

GitHub: https://github.com/jae-jae/QueryList-Phant...

插件 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 协议》,转载必须注明作者和本文链接
本帖由 Summer 于 7年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。