php教程

超轻量级php框架startmvc

基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例

更新时间:2020-04-05 08:57:13 作者:startmvc
本文实例讲述了基于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;
 }
}

将数据插入到数据库 详细步骤

ThinkPHP5框架 QueryList 爬取 存入 mysql数据库