一: 需求背景
身為開發人員,在日常開發中或多或少多會遇到採集的需求,需要採集某個網站的資料、文章等等,同時在還需要對採集到內容進行解析,分類等操作。在解析分類的過程中,大多數PHPer使用正規的方式來分析爬到的數據,增加了難度的同時效率也沒有得到提升,用QueryList則可以很簡單的結果問題。
二:什麼是QueryList?
QueryList是一個基於phpQuery的開源項目,可以讓PHPer在採集資訊時對內容進行一個類似JQuery的DOM操作,十分簡潔方便,貼合平常開發的習慣。
三:下載安裝
(1) 環境需求,安裝方式有兩種,選取以下任一種都可以。
PHP >= 5.3
(2) 安裝方式-使用composer安裝
composer require jaeger/querylist:V3.2.1
或在專案的composer.json檔案中加入以下配置,之後composer update
"require" : { "jaeger/querylist": "^3.2" }
安裝完成之後在專案中,直接引入vendor/autoload.php文件,即可直接開始使用
(3) 測試
$html = <<<STR <div id="one"> <div class="two"> <a href="http://querylist.cc">QueryList官网</a> <img src="http://querylist.com/1.jpg" alt="这是图片"> <img src="http://querylist.com/2.jpg" alt="这是图片2"> </div> <span>其它的<b>一些</b>文本</span> </div> STR; $rules = array( //采集id为one这个元素里面的纯文本内容 'text' => array('#one','text'), //采集class为two下面的超链接的链接 'link' => array('.two>a','href'), //采集class为two下面的第二张图片的链接 'img' => array('.two>img:eq(1)','src'), //采集span标签中的HTML内容 'other' => array('span','html') ); $data = QueryList::Query($html, $rules)->data; var_dump($data);
(4) 安裝方式-手動安裝
前往Github下載程式碼https://github.com/jae-jae/QueryL,取得其中的QueryList.php和phpQuery.php這兩個檔案放到專案中即可
(5) 測試
<?php require 'phpQuery.php'; require 'QueryList.php'; use QL\QueryList; $hj = QueryList::Query('https://php.cn/',array("url"=>array('.unit h1 a','href'))); $data = $hj->getData(function($x){ return $x['url']; }); print_r($data);
總結,這個外掛下載安裝還是很簡單的,下期為大家介紹簡單的採集文章內容,適合初學者學習,歡迎大家關注,及時收到新課程提醒。
以上是PHP採集外掛程式QueryList實踐教學(一)的詳細內容。更多資訊請關注PHP中文網其他相關文章!