TP5框架 使用JqueryList 实现信息采集

博客介绍了jquerylist的访问网址,还说明了在tp5根目录下通过命令窗口运行composer require jaeger/querylist来进行采集准备,之后可在控制器写采集方法。给出了控制器方法的例子,以及使用for循环实现分页搜索采集的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、jquerylist访问网址

http://www.querylist.cc/docs/guide/v4/overview

二、tp5根目录下打开命令窗口

运行:composer require jaeger/querylist

下面就可以在控制器里面写采集的方法了,更多操作可根据文档按自己的需求写

三、控制器方法(例子)

以一下这个网站搜索采集例子:http://www2.soopat.com/Home/Result?SearchWord=%E6%9D%8E%E4%BD%B3%E7%8E%B2&FMZL=Y&SYXX=Y&WGZL=Y&FMSQ=Y

<?php
namespace app\index\controller;
use QL\QueryList;
class Index
{
    /*单元素采集*/
    public function index()
    {
        //采集某页面所有的图片
        $data = QueryList::get('http://www2.soopat.com/Home/Result?SearchWord=%E6%9D%8E%E4%BD%B3%E7%8E%B2&FMZL=Y&SYXX=Y&WGZL=Y&FMSQ=Y')->find('img')->attrs('src');
        //打印结果
        print_r($data->all());
    }
    //http://www2.soopat.com/Home/Result?SearchWord=%E6%9D%8E%E4%BD%B3%E7%8E%B2&FMZL=Y&SYXX=Y&WGZL=Y&FMSQ=Y

    //返回结果
    /*Array (
        [0] => /Content/images/common/middlelogo.gif
        [1] => /content/images/home/excel.png
        [2] => http://portal.soopat.com/content/images/ask_dc/star_level1.gif
        ...
    )*/
    //https://search.jd.com/Search?keyword=%E7%94%B5%E9%A3%8E%E6%89%87&enc=utf-8&suggest=1.def.0.V14--12,20,&wq=dfs&pvid=afd8415ea7d5406cb90dd08a53f76cd0
    //https://ai.taobao.com/search/index.htm?pid=mm_121795750_22160345_126532329&unid=&source_id=search&key=%E8%BF%9E%E8%A1%A3%E8%A3%99&b=sousuo_ssk&clk1=&prepvid=200_11.27.26.228_11209_1557299550940&spm=a231o.7712113%2Fg.a3342.1
    /*
     * 采集列表
     * */
    public function collectList(){
        $url = 'http://www2.soopat.com/Home/Result?SearchWord=%E6%9D%8E%E4%BD%B3%E7%8E%B2&FMZL=Y&SYXX=Y&WGZL=Y&FMSQ=Y';
        // 定义采集规则
        $rules = [
            // 采集文章标题
            'title' => ['.PatentTypeBlock>a','text'],
            // 采集文章作者
            'author' => ['.rh','text'],
            // 采集文章内容
            'content' => ['.PatentContentBlock','text']
        ];
        $rt = QueryList::get($url)->rules($rules)->query()->getData();

        print_r($rt->all());
    }
    /*
     * Array (
     *  [0] => Array (
     *                  [title] => 汽车车灯 - 201630252704.8
     *                  [author] => 李佳玲
     *                  [content] => 发明人:李佳玲...
     *                  摘要:1.本外观设计产品的名称:汽车车灯。
     *                  2.本外观设计产品的用途:本外观设计产品用于汽车前照大灯,防散光设计,输出光型更好更聚光,安装简易,即装即用。
     *                  3.本外观设计产品的设计要点:产品整体的形状。4.最能表明本外观设计设计要点的图片或照片:立体...
     *              )
     * [1] => Array (
     *               [title] => 一种LED彩灯 - 201220712237.9
     *               [author] => 李佳玲
     *               [content] => 发明人:张旭霞;李佳玲;马凤军...摘要:本实用新型涉及灯具技术领域,具体涉及一种LED彩灯。
     *                    它包含灯体(1)、环形彩色反光镜(2)和LED灯板(3);灯体(1)的中心位置设置有环形彩色反光镜(2),
     *                      环形彩色反光镜(2)外围均匀设置有多个LED灯板(3)。它外形美观,使用效果好,不...
     *              )
     * )
     * */
    /*
     * 单元素采集和列表采集过滤内容
     * */
    public function contentFiltering(){
        $url = 'http://www2.soopat.com/Home/Result?SearchWord=%E6%9D%8E%E4%BD%B3%E7%8E%B2&FMZL=Y&SYXX=Y&WGZL=Y&FMSQ=Y';

//        $html =<<<STR
//                    <h2 id="PatentTypeBlock">
//                        <font size="-1">
//                            <input name="cb" value="18369569"
//                            type="checkbox" patentid="18369569"
//                            sqh="201630252704" mc="汽车车灯"
//                            style="position: absolute; z-index: -1;
//                            visibility: hidden;">
//                            <span class="jquery-safari-checkbox">
//                                <span class="mark">
//                                     <img src="/content/images/common/Checkbox/empty.png">
//                                </span>
//                            </span>[外观]
//                         </font>
//                        <a href="/Patent/201630252704" target="_blank">汽车车灯 - <font size="-1">201630252704.8</font></a>
//                        <div class="stateico stateicoinvalid" onclick="openlegalwindow('/Home/SipoLegal/201630252704');" style="cursor:pointer;">无权-未缴年费</div>
//                    </h2>
//STR;

    // 采集规则
        $rules = [
            // 采集文章标题
            'title' => ['.PatentTypeBlock>a','text'],
            // 采集文章作者
            'author' => ['.rh','text'],
            // 采集文章内容
            'content' => ['.PatentContentBlock','text','input span:last']
            //设置了内容过滤选择器
        ];

        $rt = QueryList::get($url)->rules($rules)->query()->getData();

        print_r($rt->all());
    }
   /*
     * Array
(
    [0] =Array
        (
            [title] =&gt; 汽车车灯 - 201630252704.8
            [author] =&gt; 李佳玲
            [content] =&gt; 发明人:李佳玲...摘要:1.本外观设计产品的名称:汽车车灯。2.本外观设计产品的用途:本外观设计产品用于汽车前照大灯,防散光设计,输出光型更好更聚光,安装简易,即装即用。3.本外观设计产品的设计要点:产品整体的形状。4.最能表明本外观设计设计要点的图片或照片:立体...
        )

    [1] =Array
        (
            [title] =&gt; 一种LED彩灯 - 201220712237.9
            [author] =&gt; 李佳玲
            [content] =&gt; 发明人:张旭霞;李佳玲;马凤军...摘要:本实用新型涉及灯具技术领域,具体涉及一种LED彩灯。它包含灯体(1)、环形彩色反光镜(2)和LED灯板(3);灯体(1)的中心位置设置有环形彩色反光镜(2),环形彩色反光镜(2)外围均匀设置有多个LED灯板(3)。它外形美观,使用效果好,不...
        )

    [2] = Array
        (
            [title] =&gt; 一种多功能围巾 - 201220712216.7
            [author] =&gt; 李佳玲
            [content] =&gt; 发明人:李佳玲;张旭霞;马凤军...摘要:一种多功能围巾,它涉及服饰领域。它由围巾主体(1)、红外按摩装置(2)和别针控制器(3)组成,红外按摩装置(2)均匀设置在围巾主体(1)上贴近脖子的位置,别针控制器(3)设置在围巾主体(1)上的垂带上。它通过别针控制器(3)来控制红外按摩装...
        )

     * */
}

四、分页搜索采集 

使用for循环实现

/*
     * 分页搜索信息采集
     * */
    public function pageSearchCollect(){
        for($page=0;$page<100;$page*10){
           // http://www2.soopat.com/Home/Result?SearchWord=%E6%9D%8E%E4%BD%B3%E7%8E%B2&FMZL=Y&SYXX=Y&WGZL=Y&FMSQ=Y&PatentIndex=20
            $url = 'http://www2.soopat.com/Home/Result?SearchWord=%E6%9D%8E%E4%BD%B3%E7%8E%B2&FMZL=Y&SYXX=Y&WGZL=Y&FMSQ=Y&PatentIndex='.$page;
            // 定义采集规则
            $rules = [
                // 采集文章标题
                'title' => ['.PatentTypeBlock>a','text'],
                // 采集文章作者
                'author' => ['.rh','text'],
                // 采集文章内容
                'content' => ['.PatentContentBlock','text']
            ];
            $rt = QueryList::get($url)->rules($rules)->query()->getData();
            print_r($rt->all());
            echo '</br>';
            //插入数据库
            db('article')->insertAll($rt);
        }

    }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值