国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設資訊詳細

php采集器QueryList V3的實例運用介紹

發(fā)表日期:2022-11-15 15:40:12   作者來源:陳應信   瀏覽:1301   標簽:網(wǎng)站采集    
要實現(xiàn)php插件QueryList V3采集器的功能,首先就是要下載phpQuery.php和QueryList.php,我們使用的是tp3.2,所以把這兩個文件放到如下圖所示的位置:

QueryList文件
然后在控制器上,使用vendor('Caiji.phpQuery');vendor('Caiji.QueryList');引入這兩個文件,然后使用命名空間use QL\QueryList;引入QueryList類,如下圖所示:

PHP類

然后使用QueryList::方法名,即可調用QueryList類的方法,如下圖所示,我們來采集一個網(wǎng)址:

文章
 
$html是我們要采集的一個網(wǎng)址,我們打開這個頁面,如下圖:
 

HTML

然后查看這個頁面的源代碼,如下所示:
 
Array數(shù)組

上面的源代碼劃紅圈的位置,我們需要采集的是網(wǎng)頁的URL,標題,圖片三個參數(shù),這樣QueryList采集器的規(guī)則如下:
 $rules = array("url"=>array('.all ul li a','href'),
 'title'=>array('.all ul li a .news-wrap p','text'),
 'picture'=>array('.img-wrap img','data-echo'));
這個就是在這個頁面里,獲取url,title,picture這三個參數(shù)的匹配到符合條件的數(shù)組,至于這個規(guī)則為何這樣寫,可以自行查看QueryList V3的開發(fā)文檔,這里不再贅述,然后使用
$data_list = QueryList::Query($html,$rules)->data;執(zhí)行采集程序,就能獲取到如下數(shù)組:

PHP代碼
....
這樣就可以對數(shù)組進行處理了,首先我們注意到這個圖片的路徑是遠程的絕對地址,如果直接存到數(shù)據(jù)庫表中,隨時可能因為某種原因打開,所以就需要把圖片保存到服務器上,所以需要運用到以下方法:

獲取遠程圖片

$file_url 是遠程的圖片地址,如上面數(shù)組的picture的路徑,$save_to是服務器上要保存的文件地址,如 $save_to = 'Uploads/caiji/123.jpg';
這樣通過$this->dlfile($file_url, $save_to)調用這個方法后即可保存圖片,這樣圖片的地址就能轉換成服務器上的相對地址或根目錄地址了。
以上是對QueryList V3的實例運用介紹,其實還有很多比較實用的技巧沒講,例如內容過濾,獲取內容亂碼如何解決等。如果有時間下次再講一下把采集數(shù)據(jù)處理,先采集列表頁面,再通過列表的鏈接采集到文章頁面,再把它保存到數(shù)據(jù)庫中的處理過程。
如沒特殊注明,文章均為方維網(wǎng)絡原創(chuàng),轉載請注明來自http://pdcharm.com/news/6581.html
相關網(wǎng)站設計案例
麦盖提县| 英超| 梅州市| 普格县| 镇宁| 当涂县| 苍山县| 龙陵县| 永德县| 科尔| 斗六市| 和政县| 大埔县| 招远市| 三河市| 三台县| 东平县| 龙井市| 安吉县| 寻甸| 叙永县| 长宁区| 富源县| 阳信县| 盐池县| 抚松县| 牟定县| 红桥区| 冷水江市| 峨边| 虹口区| 肇源县| 荆州市| 许昌市| 云安县| 兴文县| 惠来县| 嘉鱼县| 新邵县| 莱州市| 博野县|