1.一種分布式爬蟲引擎的URL抓取方法,其特征在于,包括如下步驟:
S100:采集URL任務并存儲;
S200:基于網(wǎng)站哈希值的任務劃分策略,將具有相同域名的URL集合分配給同一爬取節(jié)點進行爬取,并匯總爬取結果;
S300:將所爬取的URL任務所對應的原始網(wǎng)頁進行分布式并行聚類,去除噪聲URL任務;
S400:消除去除噪聲后的URL任務內(nèi)重復的URL任務;
S500:判斷已經(jīng)過消除重復的URL任務已抓取層數(shù)是否小于預設值,若是則返回步驟S300;若否則執(zhí)行步驟S600;
S600:將每一層抓取的URL任務對應的原始網(wǎng)頁進行合并。
2.根據(jù)權利要求1所述的一種分布式爬蟲引擎的URL抓取方法,其特征在于:在步驟S300中,在進行分布式并行聚類之前還包括,應用網(wǎng)頁的DOM樹結構初步去除噪聲URL任務,包括:
S301:利用<td>、<p>、<div>等html標簽對頁面進行分割,去掉一些與渲染相關但是同URL任務無關的標簽;
S302:利用鏈接文字比率來對噪聲鏈接進行定位,若節(jié)點的文字比率高于1/4則將該節(jié)點所在的鏈接判定為初始噪聲鏈接并去除。
3.根據(jù)權利要求1或2所述的一種分布式爬蟲引擎的URL抓取方法,其特征在于:在步驟S300中,所述分布式并行聚類,去除噪聲URL任務包括如下步驟:
S311:采用映射歸約方式對原始網(wǎng)頁進行域名解析,進行初步分塊;
S312:將各個塊進行singlepass聚類,并采用映射歸約的方式將聚類結果分成多個族;
S313:依據(jù)已有噪聲樣本,應用映射歸約方式將聚類結果的多個族進行相似度計算,依據(jù)相似度值去除噪聲URL任務;
S314:應用映射歸約方式存儲去噪后的URL任務。
4.根據(jù)權利要求1或2所述的分布式爬蟲引擎的URL抓取方法,其特征在于:步驟S400中,所述消除爬取結果內(nèi)重復的URL任務包括:
S401:將所采集的URL任務加入到訪問列表中,記錄URL任務的訪問時間,并設置重復次數(shù)為1;
S402:將去除噪聲后的URL任務依次與訪問列表和緩存列表進行比對,若在訪問列表或緩存列表中查詢到URL任務,則放棄該URL任務并更新URL任務訪問時間及重復次數(shù);若未在訪問列表或緩存列表中查詢到URL任務,則訪問所存儲的URL任務;
S403:判斷所存儲的URL任務中是否存在所述URL任務,若是則放棄該URL任務,若否則更新訪問列表和URL任務集。
5.根據(jù)權利要求1或3或4所述的分布式爬蟲引擎的URL抓取方法,其特征在于:在進行分布式并行聚類過程中,所述相似度使用最大公共字串長度占兩個URL任務長度比例的均值度量。
6.一種分布式爬蟲引擎的URL抓取系統(tǒng),其特征在于包括:
采集模塊,用于采集URL任務并存儲;
分類模塊,用于基于網(wǎng)站哈希值的任務劃分策略,將具有相同域名的URL集合分配給同一爬取節(jié)點進行爬取,并匯總爬取結果;
去噪模塊,用于將所爬取的URL任務所對應的原始網(wǎng)頁進行分布式并行聚類,去除噪聲URL任務;
去重模塊,用于消除去除噪聲后的URL任務內(nèi)重復的URL任務;
判斷模塊,用于判斷已經(jīng)過消除重復部分的URL任務已抓取層數(shù)是否小于預設值,若是則轉去噪模塊執(zhí)行,若否則轉合并模塊;
合并模塊,用于將每一層抓取的URL任務對應的原始網(wǎng)頁進行合并。
7.根據(jù)權利要求6所述的一種分布式爬蟲引擎的URL抓取系統(tǒng),其特征在于:所述去噪模塊,在進行分布式并行聚類之前還包括,應用網(wǎng)頁的DOM樹結構初步去除噪聲URL任務,包括:
分割單元,用于利用<td>、<p>、<div>等html標簽對頁面進行分割,去掉一些與渲染相關但是同URL任務無關的標簽;
比較單元,用于利用鏈接文字比率來對噪聲鏈接進行定位,若節(jié)點的文字比率高于1/4則將該節(jié)點所在的鏈接判定為初始噪聲鏈接并去除。
8.根據(jù)權利要求6或7所述的一種分布式爬蟲引擎的URL抓取系統(tǒng),其特征在于:所述去噪模塊進行分布式并行聚類,去除噪聲URL任務包括:
分塊單元,用于采用映射歸約方式對原始網(wǎng)頁進行域名解析,進行初步分塊;
聚類單元,用于將各個塊進行singlepass聚類,并采用映射歸約的方式將聚類結構分成多個族;
計算單元,用于依據(jù)已有噪聲樣本,應用映射歸約方式將聚類結果的多個族進行相似度計算,依據(jù)相似度值去除噪聲URL任務;
存儲單元,應用映射歸約方式存儲去噪后的URL任務。
9.根據(jù)權利要求6或7所述的一種分布式爬蟲引擎的URL抓取系統(tǒng),其特征在于:所述去重模塊,消除爬取結果內(nèi)重復的URL任務包括:
建立單元,用于將所采集的URL任務加入到訪問列表中,記錄URL任務的訪問時間,并設置重復次數(shù)為1;
匹配單元,用于將去除噪聲后的URL任務依次與訪問列表和緩存列表進行比對,若在訪問列表或緩存列表中查詢到URL任務,則放棄該URL任務并更新URL任務訪問時間及重復次數(shù);若未在訪問列表或緩存列表中查詢到URL任務,則訪問所存儲的URL任務;
查重單元,用于判斷所存儲的URL任務中是否存在所述URL任務,若是則放棄該URL任務,若否則更新訪問列表和URL任務集。
10.根據(jù)權利要求1或8或9所述的一種分布式爬蟲引擎的URL抓取方法,其特征在于:
所述去噪模塊在進行分布式并行聚類過程中,所述相似度使用最大公共字串長度占兩個URL任務長度比例的均值度量。