当前位置:首页 > CMS教程 > Thinkphp > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-23 10:55:28 浏览: 评论:0 

这篇文章主要介绍了基于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:

  1. use QL\QueryList; 
  2. public function qulist(){ 
  3.   $data = QueryList::get('http://maoyan.com/board/4'
  4.   // 设置采集规则 
  5.   ->rules([ 
  6.     // 爬取图片地址 
  7.     "src"=>array(".board-wrapper dd img.board-img","data-src"), 
  8.     // 爬取电影名 
  9.     "name"=>array(".board-wrapper dd .movie-item-info .name","html"), 
  10.     // 爬取电影主演信息 
  11.     "star"=>array(".board-wrapper dd .movie-item-info .star","html"), 
  12.     // 爬取上映时间 
  13.     "releasetime"=>array(".board-wrapper dd .movie-item-info .releasetime","html"), 
  14.   ]) 
  15.   ->query()->getData(); 
  16.   $excel_array=$data->all(); 
  17.   var_dump($excel_array);exit

如果没有错的 则

ThinkPHP5爬取 QueryList

如果想继续抓取下一页的数据 要根据规律来去

ThinkPHP5爬取 QueryList

这里我继续抓取20页 但是没有那么多就抓取了10页的数据

  1. public function qulist(){ 
  2.     for($i=0;$i<20;$i++){ 
  3.       $page=$i*10; 
  4.       $data = QueryList::get('http://maoyan.com/board/4?offset='.$page
  5.         // 设置采集规则 
  6.         ->rules([ 
  7.           // 爬取图片地址 
  8.           "src"=>array(".board-wrapper dd img.board-img","data-src"), 
  9.           // 爬取电影名 
  10.           "name"=>array(".board-wrapper dd .movie-item-info .name","html"), 
  11.           // 爬取电影主演信息 
  12.           "star"=>array(".board-wrapper dd .movie-item-info .star","html"), 
  13.           // 爬取上映时间 
  14.           "releasetime"=>array(".board-wrapper dd .movie-item-info .releasetime","html"), 
  15.         ]) 
  16.         ->query()->getData(); 
  17.       $excel_array=$data->all(); 
  18.       var_dump($excel_array);exit
  19.     } 

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

ThinkPHP5爬取 QueryList

Tags: ThinkPHP5爬取 QueryList

分享到: