928
火車采集器
PHP采網址(列表頁處理)插件的開發方法
PHP采網址(列表頁處理)插件的開發方法
作者:小文 發布於:2010-9-15 11:12 Wednesday 分類:軟件培訓
火車采集器中列表頁插件是用來處理采網址時采集的網頁源代碼的.插件可以對源代碼進行處理,然後采集器從處理過的代碼中分析網址或是采集數據和網址.
今天我們以采集 https://news.hexun.com/ 的網址為例,比如我們隻采集包含有當天日期的網址,比如今天是 2010-09-15,那麼隻有網址中有這個日期代碼的才可以被我們采集到.
我們的處理思路就是用插件提取所有符合條件的網址,然後生成鏈接地址,那麼,最後采集器采集到的網址就是符合條件的網址了.
具體請看插件代碼
<?php
/*
*火車采集器外部編程接口處理標簽內容示範文件
*該文件內自動係統的三個參數$LabelArray $LabelCookie,$LabelUrl
*對任意采集的標簽都適用請對標簽內容處理後直接將該數組serialize($LabelArray)輸出,
*采集器內部即可接收到該標簽的內容,對比以前的接口規則,新規則可以實現標簽之間的數據調用和處理
*參數說明:
*$LabelArray - 標簽名及標簽內容集合 結構如:Array('欄目id' => 2,'出處'=> 'www.locoy.com','作者'=>'火車采集器','內容'=>'<center><b>暴笑短信') ##
*$LabelCookie - 對應采集中用到的Cookie值
*$LabelUrl - 當前采集的頁麵的Url地址
* 特別注意:如果是處理列表頁,默認頁,多頁時會有以下兩個標簽
$LabelArray['Html'] 網頁的源代碼,沒有經過采集器處理的,直接下載後的數據.修改這裏的數據,請將新值賦予$LabelArray['Html']
$LabelArray['PageType'] 值可能為 List, Pages, Content 分別代表處理列表頁,多頁,默認頁
* @Copyright Copyright (c) 2005-2010 https://www.locoy.com
* @Version LocoySpider 2010 or later
* @Licence Support On LocoySpider Standard and Enterprise Edition
*以上語句建議不更改,以下為用戶操作區域 該區域隻限對數組值進行操作,不得有打印輸出產生,不得直接增加或刪除相應標簽名
*/
if($LabelArray['Html'])
{
if($LabelArray['PageType']=='List')
{
$urlArr=array();
$html=$LabelArray['Html'];
$today=date("Y-m-d",time());
preg_match_all("/href=\"([^\"]*?\.html)\"/",$html,$mcs);
//var_dump($mcs);
if(count($mcs)>0)
{
foreach($mcs[1] as $url)
{
if(strpos($url,$today)>0) $urlArr[]=$url;
}
$LabelArray['Html']='<a href="'.implode('"><a href="',$urlArr).'">';
}
}
}
//#############以上為用戶操作區域#############################################################################################################################
//#############以下語句必須保留,建議不更改###################################################################################################################
//ob_clean();
echo serialize($LabelArray);
?>
評論:
最後更新:2017-05-09 01:05:53