閱讀928 返回首頁    go 火車采集器


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);
?>

標簽: php 插件

相關日誌:

火車瀏覽器開發SDK下載

分頁的采集培訓

火車頭數據采集平台Web發布模塊插件的開發文檔

一個腳本網址的采集辦法(11.24)

YY語音火車采集器V7版本特性介紹(3.8)

« 采集引起的服務器w3wp.exe占用CPU100% | "XXX站點創建失敗"的解決辦法»

評論:

wam52m
2016-08-17 22:25
學習了 ,但是不知怎麼用啊、、、
cheap jordan
2011-11-24 09:35
很有啟發。。。支持
supra outlet
2011-02-23 17:02
學無止境再虛心
cordyceps
2011-02-10 15:38
謝謝, 有用的信息!
lv包
2010-09-27 21:45
如果網址沒有時間這些特征的話,怎麼辦?
小文
2010-09-27 22:47
@lv包:網址裏沒有的話就需要到內容頁中去判斷了。比如采集前幾篇文章,然後采集發表時間,在插件裏判斷一下時間是否今天,不是的話該文件不采集。

發表評論:

最後更新:2017-05-09 01:05:53

  上一篇:go DEDECMS自定義模型web發布模塊製作注意事項
  下一篇:go 百度相關搜索隨機加標題前綴