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


Posted in PHP onMay 25, 2019

本文实例讲述了基于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;
}

如果没有错的 则

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

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

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

这里我继续抓取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;
    }
}

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

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

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

PHP 相关文章推荐
php+jquery编码方面的一些心得(utf-8 gb2312)
Oct 12 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
PHP调试函数和日志记录函数分享
Jan 31 PHP
php取得字符串首字母的方法
Mar 25 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 14 PHP
php swoft框架实例用法
Dec 22 PHP
Yii2框架自定义类统一处理url操作示例
May 25 #PHP
Yii2框架加载css和js文件的方法分析
May 25 #PHP
php数组遍历类与用法示例
May 24 #PHP
PHP实现的操作数组类库定义与用法示例
May 24 #PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 #PHP
Swoole4.4协程抢占式调度器详解
May 23 #PHP
PHP文件上传小程序 适合初学者学习!
May 23 #PHP
You might like
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
轻松创建nodejs服务器(9):实现非阻塞操作
2014/12/18 NodeJs
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python str与repr的区别
2013/03/23 Python
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
详解python eval函数的妙用
2017/11/16 Python
Python PO设计模式的具体使用
2019/08/16 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
探索HTML5本地存储功能运用技巧
2016/03/02 HTML / CSS
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
一份Java笔试题
2012/02/21 面试题
初婚未育未抱养证明
2014/01/12 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
娱乐节目策划方案
2014/06/10 职场文书
践行三严三实心得体会
2014/10/13 职场文书
销售员态度差检讨书
2014/10/26 职场文书
2019年作为一名实习生的述职报告
2019/09/29 职场文书
SQL注入详解及防范方法
2021/12/06 MySQL