日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php querylist query,thinkphp5使用QueryList实现采集功能

發布時間:2023/12/29 php 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php querylist query,thinkphp5使用QueryList实现采集功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

thinkphp5使用QueryList實現采集功能

龍行????PHP????2019-5-10????1631????0評論

QueryList是基于phpQuery的

1.下載`QueryList.php`和`phpQuery.php`這兩個文件。

2.在`extend`下新建`QL`目錄。

3.將下載好的`QueryList.php`和`phpQuery.php`這兩個文件復制到`extend/QL`目錄。

4.在QueryList.php頭部加入

在需要使用的控制器中加入

use QL\QueryList;

下面給出一個示例代碼:

//需要采集的目標頁面

$page = 'http://cms.querylist.cc/news/566.html';

//采集規則

$reg = array(

//采集文章標題

'title' => array('h1','text'),

//采集文章發布日期,這里用到了QueryList的過濾功能,過濾掉span標簽和a標簽

'date' => array('.pt_info','text','-span -a',function($content){

//用回調函數進一步過濾出日期

$arr = explode(' ',$content);

return $arr[0];

}),

//采集文章正文內容,利用過濾功能去掉文章中的超鏈接,但保留超鏈接的文字,并去掉版權、JS代碼等無用信息

'content' => array('.post_content','html','a -.content_copyright -script',function($content){

//利用回調函數下載文章中的圖片并替換圖片路徑為本地路徑

//使用本例請確保當前目錄下有image文件夾,并有寫入權限

//由于QueryList是基于phpQuery的,所以可以隨時隨地使用phpQuery,當然在這里也可以使用正則或者其它方式達到同樣的目的

$doc=\phpQuery::newDocumentHTML($content);

$imgs = pq($doc)->find('img');

foreach ($imgs as $img) {

$src = 'http://cms.querylist.cc'.pq($img)->attr('src');

$localSrc = md5($src).'.jpg';

$stream = file_get_contents($src);

file_put_contents($localSrc,$stream);

pq($img)->attr('src',$localSrc);

}

return $doc->htmlOuter();

})

);

$rang = '.content';

$ql = QueryList::Query($page,$reg,$rang);

$data = $ql->getData();

//打印結果

print_r($data);

注意:在使用phpQuery類時需要在前面加上\,因為phpQuery.php中沒有使用命名空間,因為使用命名空間后,QueryList.php無法使用phpQuery類。

評論一下

贊助站長

贊助站長X

版權申明:此文如未標注轉載均為本站原創,自由轉載請表明出處《龍行博客》。

本文網址:https://www.liaotaoo.cn/216.html

總結

以上是生活随笔為你收集整理的php querylist query,thinkphp5使用QueryList实现采集功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。