这篇文章将为大家详细讲解有关怎么在ThinkPHP5框架中使用QueryList爬取mysql数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
在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数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。