这篇文章主要介绍了基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作,结合实例形式分析了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 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;
}
如果没有错的 则
如果想继续抓取下一页的数据 要根据规律来去
这里我继续抓取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;
}
}
将数据插入到数据库 详细步骤
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
本文标题为:基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
基础教程推荐
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- PHP命名空间简单用法示例 2022-12-01
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- 使用PHP开发留言板功能 2023-03-13
- PHP中的错误及其处理机制 2023-06-04
- php array分组,PHP中array数组的分组排序 2022-08-01
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12