基于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企业级应用之常见缓存技术篇
Jan 27 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
yii上传文件或图片实例
Apr 01 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
学习php中的正则表达式
Aug 17 PHP
PHP微信开发之查询微信精选文章
Jun 23 PHP
php 读取输出其他文件的实现方法
Jul 26 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
PHP实现简单用户登录界面
Oct 23 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 PHP
php 解析非标准json、非规范json
Apr 01 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 flv视频时间获取函数
2010/06/29 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
php写app用的框架整理
2019/09/29 PHP
关于Javascript回调函数的一个妙用
2016/08/29 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
浅谈Node模块系统及其模式
2017/11/17 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
小程序云开发部署攻略(图文教程)
2018/10/30 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
python3抓取中文网页的方法
2015/07/28 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
Python常用算法学习基础教程
2017/04/13 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
python实现excel读写数据
2021/03/02 Python
详解js文件通过python访问数据库方法
2019/03/03 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
delegate与普通函数的区别
2014/01/22 面试题
法定代表人资格证明书
2014/09/11 职场文书
欢迎新生标语
2014/10/06 职场文书
安装工程师岗位职责
2015/02/13 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
Python中第三方库Faker的使用详解
2022/04/02 Python
nginx配置之并发频次限制
2022/04/18 Servers