基于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执行速度全攻略(下)
Oct 09 PHP
从C/C++迁移到PHP——判断字符类型的函数
Oct 09 PHP
PHP得到mssql的存储过程的输出参数功能实现
Nov 23 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
Jun 25 PHP
php对数组排序代码分享
Feb 24 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
PHP中的Session对象如何使用
Sep 25 PHP
PHP文件缓存类实现代码
Oct 26 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
Jun 13 PHP
PHP基础之输出缓冲区基本概念、原理分析
Jun 19 PHP
PHP生成随机字符串实例代码(字母+数字)
Sep 11 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反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
JavaScript学习笔记(十)
2010/01/17 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
jQuery实现鼠标拖拽登录框移动效果
2020/09/13 jQuery
js实现日历
2020/11/07 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
python超简单解决约瑟夫环问题
2015/05/12 Python
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
大学应届毕业生个人求职信
2013/09/23 职场文书
最新的互联网创业计划书
2014/01/10 职场文书
团日活动总结书格式
2014/05/08 职场文书
现场活动策划方案
2014/08/22 职场文书