首页 > 其他 > 详细

querylist采集 爬虫

时间:2020-12-29 08:38:04      阅读:28      评论:0      收藏:0      [点我收藏+]

一、安装

通过Composer安装:

composer require jaeger/querylist

官方参考文档:https://querylist.cc/docs/guide/v3/installation

 

二、本次主要运用下载到本地的querylist包来进行诠释

1.将querylist包解压到本地,放在本地框架的pubilc文件夹下(phpQuery.php    Querylist.php 两个主要文件)

技术分享图片

 

2.创建控制器,并在控制器中引入querylist的命名空间 

技术分享图片

 

 

 3.控制器代码

 

    public function index()
    {
        //引入采集文件
        require "QueryList/QueryList.php";
        require "QueryList/phpQuery.php";
        //设置采集的地址
        $url="https://www.17k.com/";
        //设置采集规则
        $rules = array(
            //采集id为one这个元素里面的纯文本内容
            ‘title‘ => array(‘dd>h3>a‘,‘text‘),
            //采集class为two下面的超链接的链接
            ‘content‘ => array(‘dd>.info>a‘,‘text‘),
            //采集class为two下面的第二张图片的链接
            ‘img‘ => array(‘dd>a>img‘,‘src‘),
            //采集span标签中的HTML内容
            ‘anthor‘ => array(‘dd>.author>a‘,‘text‘)
        );
        //采集数据
        $data=@ QueryList::Query($url,$rules)->data;
        //未采集到数据处理
        foreach ($data as $k=>$v){
            $data[$k][‘title‘]=empty($v[‘title‘])?‘未采集到数据‘:$v[‘title‘];
            $data[$k][‘content‘]=empty($v[‘content‘])?‘未采集到数据‘:$v[‘content‘];
            $data[$k][‘img‘]=empty($v[‘img‘])?‘未采集到数据‘:$v[‘img‘];
            $data[$k][‘anthor‘]=empty($v[‘anthor‘])?‘未采集到数据‘:$v[‘anthor‘];
        }
//将线上图片保存到本地文件夹中 foreach ($data as $k=>$v){ $img=file_get_contents($v[‘img‘]); $fileimg=‘uploads/‘.time().rand(1,999).substr($v[‘img‘],strrpos($v[‘img‘],".")); file_put_contents($fileimg,$img); $data[$k][‘img‘]=$fileimg; } //添加入库 model(‘Book‘)->insertAll($data); $data=Book::paginate(5); if ($data){ return view(‘lists‘,[‘data‘=>$data]); }else{ return "<script>alert(‘添加失败‘)</script>"; }

 

 

 

 

技术分享图片

 

 

 

 4.剩下的就保存入库就可以了,tp框架中数组入库运用 insertAll         laravel框架见上图

querylist采集 爬虫

原文:https://www.cnblogs.com/cyxng/p/14204357.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!