本文實例講述了基于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;$i20;$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程序設計有所幫助。
您可能感興趣的文章:- thinkphp框架使用JWTtoken的方法詳解
- PHP如何使用JWT做Api接口身份認證的實現
- php實現JWT(json web token)鑒權實例詳解
- PHP JWT初識及其簡單示例
- php JWT在web端中的使用方法教程
- php 后端實現JWT認證方法示例
- thinkPHP5使用Rabc實現權限管理
- thinkPHP5使用laypage分頁插件實現列表分頁功能
- Thinkphp5框架使用validate實現驗證功能的方法
- thinkphp5使用bootstrapvalidator進行異步驗證郵箱的示例
- ThinkPHP5框架中使用JWT的方法示例