首頁 > 每日程式設計 > PHP知識 > PHP採集外掛程式QueryList實踐教學(一)

PHP採集外掛程式QueryList實踐教學(一)

安安杰尼
發布: 2020-04-29 09:59:11
原創
198197 人瀏覽過

一: 需求背景

身為開發人員,在日常開發中或多或少多會遇到採集的需求,需要採集某個網站的資料、文章等等,同時在還需要對採集到內容進行解析,分類等操作。在解析分類的過程中,大多數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这个元素里面的纯文本内容
            &#39;text&#39; => array(&#39;#one&#39;,&#39;text&#39;),
            //采集class为two下面的超链接的链接
            &#39;link&#39; => array(&#39;.two>a&#39;,&#39;href&#39;),
            //采集class为two下面的第二张图片的链接
            &#39;img&#39; => array(&#39;.two>img:eq(1)&#39;,&#39;src&#39;),
            //采集span标签中的HTML内容
            &#39;other&#39; => array(&#39;span&#39;,&#39;html&#39;)
        );

        $data = QueryList::Query($html, $rules)->data;
        var_dump($data);
登入後複製

(4) 安裝方式-手動安裝

前往Github下載程式碼https://github.com/jae-jae/QueryL,取得其中的QueryList.php和phpQuery.php這兩個檔案放到專案中即可

(5) 測試

<?php
require &#39;phpQuery.php&#39;;
require &#39;QueryList.php&#39;;

use QL\QueryList;

$hj = QueryList::Query(&#39;https://php.cn/&#39;,array("url"=>array(&#39;.unit h1 a&#39;,&#39;href&#39;)));

$data = $hj->getData(function($x){
    return $x[&#39;url&#39;];
});

print_r($data);
登入後複製

總結,這個外掛下載安裝還是很簡單的,下期為大家介紹簡單的採集文章內容,適合初學者學習,歡迎大家關注,及時收到新課程提醒。

以上是PHP採集外掛程式QueryList實踐教學(一)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板