基于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 OPCode缓存 APC详细介绍
Oct 12 PHP
PHP采集腾讯微博的实现代码
Jan 19 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
php 保留字列表
Oct 04 PHP
PHP flush()与ob_flush()的区别详解
Jun 03 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
Nov 28 PHP
yii2.0之GridView自定义按钮和链接用法
Dec 15 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
php JWT在web端中的使用方法教程
Sep 06 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实现验证码功能
2006/10/09 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
url地址自动加#号问题说明
2010/08/21 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
Django中的Signal代码详解
2018/02/05 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
幼儿园中秋节活动方案
2014/02/06 职场文书
海飞丝的广告词
2014/03/20 职场文书
2015年女生节活动总结
2015/02/27 职场文书
村官个人总结范文
2015/03/03 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL