基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
程序员文章站
2022-03-20 13:43:16
本文实例讲述了基于thinkphp5框架使用querylist爬取并存入mysql数据库操作。分享给大家供大家参考,具体如下:
querylist4教程 地址:
htt...
本文实例讲述了基于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程序设计有所帮助。
上一篇: Java如何设置系统参数和运行参数