基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例

 更新时间:2019年05月25日 12:03:49   作者:qq_37138818  
这篇文章主要介绍了基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作,结合实例形式分析了thinkPHP5框架整合QueryList爬取数据存入mysql相关操作技巧及注意事项,需要的朋友可以参考下

本文实例讲述了基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作。分享给大家供大家参考,具体如下:

QueryList4教程 地址:

https://doc.querylist.cc/site/index/doc/45

在ThinkPHP5代码根目录执行composer命令安装QueryList:

composer require jaeger/querylist

如果出现 以下错误

Loading composer repositories with package information
Updating dependencies (including require-dev)
    Authentication required (packagist.phpcomposer.com):
      Username:

出现这样的 情况

使用

composer config -g repo.packagist composer https://packagist.laravel-china.org

下面演示在Index控制器中使用QueryList:

use QL\QueryList;
public function qulist(){
  $data = QueryList::get('http://maoyan.com/board/4')
  // 设置采集规则
  ->rules([
    // 爬取图片地址
    "src"=>array(".board-wrapper dd img.board-img","data-src"),
    // 爬取电影名
    "name"=>array(".board-wrapper dd .movie-item-info .name","html"),
    // 爬取电影主演信息
    "star"=>array(".board-wrapper dd .movie-item-info .star","html"),
    // 爬取上映时间
    "releasetime"=>array(".board-wrapper dd .movie-item-info .releasetime","html"),
  ])
  ->query()->getData();
  $excel_array=$data->all();
  var_dump($excel_array);exit;
}

如果没有错的 则

如果想继续抓取下一页的数据 要根据规律来去

这里我继续抓取20页 但是没有那么多就抓取了10页的数据

public function qulist(){
    for($i=0;$i<20;$i++){
      $page=$i*10;
      $data = QueryList::get('http://maoyan.com/board/4?offset='.$page)
        // 设置采集规则
        ->rules([
          // 爬取图片地址
          "src"=>array(".board-wrapper dd img.board-img","data-src"),
          // 爬取电影名
          "name"=>array(".board-wrapper dd .movie-item-info .name","html"),
          // 爬取电影主演信息
          "star"=>array(".board-wrapper dd .movie-item-info .star","html"),
          // 爬取上映时间
          "releasetime"=>array(".board-wrapper dd .movie-item-info .releasetime","html"),
        ])
        ->query()->getData();
      $excel_array=$data->all();
      var_dump($excel_array);exit;
    }
}

将数据插入到数据库 详细步骤

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

  • ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例

    ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例

    这篇文章主要介绍了ThinkPHP3.2.3框架实现执行原生SQL语句的方法,结合实例形式分析了thinkPHP3.2.3框架针对查询、添加、修改、删除等原生SQL操作相关实现技巧,需要的朋友可以参考下
    2019-04-04
  • Linux下手动编译安装PHP扩展的例子分享

    Linux下手动编译安装PHP扩展的例子分享

    这篇文章主要介绍了Linux下手动编译安装PHP扩展的例子分享,本文以PDO_MYSQL为例,讲解手动编译安装PHP扩展的方法,需要的朋友可以参考下
    2014-07-07
  • Laravel jwt 多表(多用户端)验证隔离的实现

    Laravel jwt 多表(多用户端)验证隔离的实现

    这篇文章主要介绍了Laravel jwt 多表(多用户端)验证隔离的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • PHPStorm 2020.1 调试 Nodejs的多种方法详解

    PHPStorm 2020.1 调试 Nodejs的多种方法详解

    这篇文章主要介绍了PHPSTORM 2020.1 调试 Nodejs的多种方法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Yii2实现同时搜索多个字段的方法

    Yii2实现同时搜索多个字段的方法

    这篇文章主要介绍了Yii2实现同时搜索多个字段的方法,结合实例形式分析了Yii2中同时搜索多个字段所使用的函数与具体使用方法,需要的朋友可以参考下
    2016-08-08
  • ThinkPHP打水印及设置水印位置的方法

    ThinkPHP打水印及设置水印位置的方法

    这篇文章主要介绍了ThinkPHP打水印及设置水印位置的方法,结合实例形式分析了thinkPHP打印与设置水印的相关操作步骤与具体实现技巧,需要的朋友可以参考下
    2016-10-10
  • 遍历echsop的region表形成缓存的程序实例代码

    遍历echsop的region表形成缓存的程序实例代码

    下面小编就为大家带来一篇遍历echsop的region表形成缓存的程序实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Bootstrap+PHP实现多图上传功能实例详解

    Bootstrap+PHP实现多图上传功能实例详解

    这篇文章主要介绍了Bootstrap+PHP实现多图上传功能实例详解,本文图片加实例相结合的形式给大家介绍的非常详细,需要的朋友可以参考下
    2018-04-04
  • php提取微信账单的有效信息

    php提取微信账单的有效信息

    这篇文章主要为大家详细介绍了php提取微信账单的有效信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • PHP生成带有雪花背景的验证码

    PHP生成带有雪花背景的验证码

    晚看到了chianren上的验证码效果,就考虑了一下,用PHP的GD库完成了类似功能 先成生背景,再把生成的验证码放上去
    2008-09-09

最新评论