本文實(shí)例講述了基于ThinkPHP5框架使用QueryList爬取并存入mysql數(shù)據(jù)庫(kù)操作。分享給大家供大家參考,具體如下:
QueryList4教程 地址:
https://doc.querylist.cc/site/index/doc/45
在ThinkPHP5代碼根目錄執(zhí)行composer命令安裝QueryList:
composer require jaeger/querylist
如果出現(xiàn) 以下錯(cuò)誤
Loading composer repositories with package information
Updating dependencies (including require-dev)
Authentication required (packagist.phpcomposer.com):
Username:
出現(xiàn)這樣的 情況
使用
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')
// 設(shè)置采集規(guī)則
->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"),
// 爬取上映時(shí)間
"releasetime"=>array(".board-wrapper dd .movie-item-info .releasetime","html"),
])
->query()->getData();
$excel_array=$data->all();
var_dump($excel_array);exit;
}
如果沒有錯(cuò)的 則
![](http://img.jbzj.com/file_images/article/201905/2019525114201611.png?2019425114246)
如果想繼續(xù)抓取下一頁(yè)的數(shù)據(jù) 要根據(jù)規(guī)律來(lái)去
![](http://img.jbzj.com/file_images/article/201905/2019525114302470.png?2019425114340)
這里我繼續(xù)抓取20頁(yè) 但是沒有那么多就抓取了10頁(yè)的數(shù)據(jù)
public function qulist(){
for($i=0;$i20;$i++){
$page=$i*10;
$data = QueryList::get('http://maoyan.com/board/4?offset='.$page)
// 設(shè)置采集規(guī)則
->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"),
// 爬取上映時(shí)間
"releasetime"=>array(".board-wrapper dd .movie-item-info .releasetime","html"),
])
->query()->getData();
$excel_array=$data->all();
var_dump($excel_array);exit;
}
}
將數(shù)據(jù)插入到數(shù)據(jù)庫(kù) 詳細(xì)步驟
![](http://img.jbzj.com/file_images/article/201905/2019525114358625.png?2019425115434)
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- thinkphp框架使用JWTtoken的方法詳解
- PHP如何使用JWT做Api接口身份認(rèn)證的實(shí)現(xiàn)
- php實(shí)現(xiàn)JWT(json web token)鑒權(quán)實(shí)例詳解
- PHP JWT初識(shí)及其簡(jiǎn)單示例
- php JWT在web端中的使用方法教程
- php 后端實(shí)現(xiàn)JWT認(rèn)證方法示例
- thinkPHP5使用Rabc實(shí)現(xiàn)權(quán)限管理
- thinkPHP5使用laypage分頁(yè)插件實(shí)現(xiàn)列表分頁(yè)功能
- Thinkphp5框架使用validate實(shí)現(xiàn)驗(yàn)證功能的方法
- thinkphp5使用bootstrapvalidator進(jìn)行異步驗(yàn)證郵箱的示例
- ThinkPHP5框架中使用JWT的方法示例