這篇文章主要介紹了基於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:
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程序設計有所幫助。