querylist 在laravel框架中的简单采集数据(专业5)

    安装querylist 插件

laravel 定时采集:

https://zhuanlan.zhihu.com/p/109741054

composer require jaeger/querylist

采集1:

//爬虫网站路由
Route::get('/querylist/list','querylistControllers@querylist');

  //控制器

<?php

namespace App\Http\Controllers;

use App\models\querylistModel;
use Illuminate\Http\Request;
use QL\QueryList;

class querylistControllers extends Controller
{
    //
    public function querylist()
    {
        //1,要爬虫的网站
        $url = "http://cms.querylist.cc/news/566.html";
//2获取网页的内容
        $content = file_get_contents($url);
//        var_dump($content);
//采集规则
        $rules = [
            'title' => ['h1', 'text'],   //文章的标题
            'time'=>['span','text'],//文章的时间
        ];
//采集的范围
        $rang = '.post_title';
//采集的数据结果
        $result = QueryList::get($url)
            ->rules($rules)
            ->range($rang)->query()
            ->getData()
            ->all();
//        var_dump($result);
        $success=querylistModel::querylist($result);
        if ($success){
            echo '采集成功';
        }else{
            echo '采集失败';
        }

    }
}

模型

class querylistModel extends Model
{
    //
    protected $table='querylist';
    public $primaryKey='id';
    public $timestamps=false;
    public  static  function querylist($params){
return self::insert($params);
    }
}

效果图:

 

 采集2:

现代健康简易采集

   laravel:控制器代码:

    /**
     *
     * 数据数据抓取
     *
     */
    public function quertList()
    {
        //采集的网址
        $url = 'http://www.rz-tea.com/';
        $content = file_get_contents($url);

        //范围
        $range = '.grid-item';
        $rules = [
            'title' => ['.article-title', 'text'],
            'img' => ['img', 'src'],
        ];
        $data = QueryList::html($content)->range($range)->rules($rules)->queryData();


        $result = DB::table('querylists')->insert($data);

        if ($result) {
            echo 'success';
        }
        echo 'error';
    }

 采集3:

  /**
     * queryList 采集
     *users:闫兵
     *Data:2022/4/23
     *Time:13:52
     */
    public function queryListData(){
        //1,要爬虫的网站
        $url = "http://www.guandian.cn/news/";
//2获取网页的内容
        $content = file_get_contents($url);

//采集规则
        $rules = [
            'title' => [' a > h3', 'text'],   //文章的标题
            'source'=>[' #keyword > a ','text'],//文章来源
            'image'=>['a > img','src'],//文章的图片
            'content'=>['p','text'],//文章的内容
            'created_at'=>['#keyword > span','text']//时间
        ];
//采集的范围
        $rang = 'li';
//采集的数据结果
        $result = QueryList::get($url)
            ->rules($rules)
            ->range($rang)
            ->query()
            ->getData()
            ->all();

//        定义一个空的数组
        $inserData=[];
        foreach ($result as $key =>$value){
           $inserData[$key]['title']=$value['title'];
           $inserData[$key]['source']=$value['source'];
           $inserData[$key]['image']=$value['image'];
           $inserData[$key]['content']=$value['content'];
           $inserData[$key]['created_at']=$value['created_at'];
        }
        $model=Factory::info();
        $success=$model::insert($inserData);
        if ($success){
            echo '采集成功';
        }else{
            echo '采集失败';
        }

    }

 



















 

posted @ 2021-07-28 19:42  王越666  阅读(192)  评论(0编辑  收藏  举报