基于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 相关文章推荐
分页显示Oracle数据库记录的类之二
Oct 09 PHP
PHP安全技术之 实现php基本安全
Sep 04 PHP
php笔记之常用文件操作
Oct 12 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
Nov 29 PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
Nov 07 PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
php注册审核重点解析(数据访问)
May 23 PHP
laravel 字段格式化 modle 字段类型转换方法
Sep 30 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 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中使用Oracle数据库(4)
2006/10/09 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
php json相关函数用法示例
2017/03/28 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
window.open被浏览器拦截后的自定义提示效果代码
2007/11/19 Javascript
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
jquery replace方法去空格
2017/05/08 jQuery
jQuery常用选择器详解
2017/07/17 jQuery
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
Django实现自定义404,500页面教程
2017/03/26 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
英国办公用品商店:Office Outlet
2018/04/04 全球购物
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
工作说明书格式
2014/07/29 职场文书
培训督导岗位职责
2015/04/10 职场文书
使用tensorflow 实现反向传播求导
2021/05/26 Python