基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
时间:2022-07-27
本文章向大家介绍基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了基于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 QLQueryList;
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;
}
如果没有错的 则
如果想继续抓取下一页的数据 要根据规律来去
这里我继续抓取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;
}
}
将数据插入到数据库 详细步骤
- 利用Spring的@Async异步处理改善web应用中耗时操作的用户体验
- Oracle中使用Entity Framework 6.x Code-First方式开发
- 边缘计算推动AI发展 未来能摆脱云计算吗?
- intellij idea 高级用法之:集成JIRA、UML类图插件、集成SSH、集成FTP、Database管理
- 微软.NET Core RC2正式发布,横跨所有平台
- 二帮主:央行数字货币的崛起,会给比特币带来什么影响
- cas原理介绍
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
- C#全角和半角转换
- 浅谈Scala在大数据处理方面的优势
- 利用mybatis-generator自动生成代码
- 微信年终放大招!小程序再次升级,这个功能超想要!
- WordPress 中禁止文章自动保存和修订版本的方法
- 第一届机器人学习大会总结
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- 对比讲解lambda表达式与传统接口函数实现方式
- 如何使用Java8 Stream API对Map按键或值进行排序
- TencentOS tiny RTOS快速入门
- Nginx用户认证与域名重定向
- LNMP架构介绍与搭建
- Mac 最新版Python3.7.4安装配置,设置默认python版本
- 15个应该掌握的Jupyter Notebook 使用技巧
- python 环境重启方法,系统环境变量配置后python生效设置方法
- 快速上手 WebAssembly 应用开发:Emscripten 使用入门
- Python爬虫之mongodb的索引操作
- (六)日志生成
- Python爬虫之mongodb的权限管理
- Python爬虫之mongodb和python交互
- 转录组分析 | 使用RSeQC软件对生成的BAM文件进行质控
- 转录组分析 | 使用Stringtie对数据进行下游处理