[發(fā)明專利]一種分布式爬蟲引擎的URL抓取方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201611037722.X | 申請日: | 2016-11-23 |
| 公開(公告)號: | CN106776768B | 公開(公告)日: | 2018-02-02 |
| 發(fā)明(設(shè)計(jì))人: | 王琦;林子忠;歐偉;茅曉萍 | 申請(專利權(quán))人: | 福建六壬網(wǎng)安股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/50 |
| 代理公司: | 福州科揚(yáng)專利事務(wù)所35001 | 代理人: | 徐開翟 |
| 地址: | 350015 福建省福州市*** | 國省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 分布式 爬蟲 引擎 url 抓取 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種分布式爬蟲引擎的URL抓取方法及系統(tǒng)。
背景技術(shù)
隨著互聯(lián)網(wǎng)信息爆炸式增長,用戶感興趣的信息淹沒于大量無關(guān)信息中,利用搜索引擎獲取感興趣的信息已經(jīng)成為人們獲取信息較為便捷的方式。作為搜索引擎基礎(chǔ)構(gòu)件之一的網(wǎng)絡(luò)爬蟲,需要直接面向互聯(lián)網(wǎng),不間斷的從互聯(lián)網(wǎng)上搜集信息,為搜索引擎提供數(shù)據(jù)來源。搜索的信息是否準(zhǔn)確均與網(wǎng)絡(luò)爬蟲緊密相關(guān)。然而互聯(lián)網(wǎng)規(guī)模十分龐大,網(wǎng)站數(shù)目眾多,網(wǎng)頁數(shù)量幾千億,如此海量的數(shù)據(jù)對網(wǎng)絡(luò)爬蟲的設(shè)計(jì)與實(shí)現(xiàn)提出了更高的要求,構(gòu)件分布式網(wǎng)絡(luò)爬蟲系統(tǒng)是一個(gè)有效的解決方案。網(wǎng)絡(luò)爬蟲是一個(gè)機(jī)器人程序,它從指定URL地址開始下載頁面文檔,提取其中的URL地址,再從提取的URL地址開始繼續(xù)爬行。
傳統(tǒng)的分布式爬蟲引擎主要是主從式,即有一臺專門的主服務(wù)器來維護(hù)待抓取URL隊(duì)列,它負(fù)責(zé)每次將URL分發(fā)到不同的從服務(wù)器,而從服務(wù)器則負(fù)責(zé)實(shí)際的網(wǎng)頁抓取工作。主服務(wù)器除了維護(hù)待抓取URL隊(duì)列以及分發(fā)URL之外,還要負(fù)責(zé)調(diào)解各個(gè)從服務(wù)器的負(fù)載情況,以免某些從服務(wù)器過于清閑或者勞累。這種模式下,主服務(wù)器往往容易成為系統(tǒng)瓶頸。
在申請?zhí)枮?01210090259.0中國專利中,公開了一種分布式網(wǎng)絡(luò)爬蟲系統(tǒng)中URL去重方法,通過引入虛擬爬蟲結(jié)點(diǎn)實(shí)現(xiàn)了高效的任務(wù)劃分策略,從而更好的適應(yīng)分布式網(wǎng)絡(luò)爬蟲系統(tǒng)中實(shí)際爬行結(jié)點(diǎn)的動態(tài)變化,在任務(wù)劃分策略基礎(chǔ)上使用一種分布式的URL去重方式,從而避免實(shí)際爬行結(jié)點(diǎn)變化過程中造成的重復(fù)爬行。該發(fā)明在任務(wù)劃分時(shí)變動規(guī)模小,能保證爬蟲系統(tǒng)穩(wěn)定持久運(yùn)行,劃分策略具有動態(tài)適應(yīng)性,能實(shí)現(xiàn)實(shí)際爬行結(jié)點(diǎn)的負(fù)載均衡,但是其無法解決高并發(fā)時(shí)爬蟲引擎抓取URL效率的問題。
在申請?zhí)枮?01210425213.X的中國專利中,公開了一種分布式網(wǎng)絡(luò)爬蟲的URL排重系統(tǒng)及方法,所述系統(tǒng)包括爬蟲采集子節(jié)點(diǎn),中心服務(wù)器及數(shù)據(jù)庫服務(wù)器。所述方法包括爬蟲采集子節(jié)點(diǎn)在中心服務(wù)器上進(jìn)行注冊;爬蟲采集子節(jié)點(diǎn)從數(shù)據(jù)庫等待隊(duì)列中獲取URL,從此URL獲取新的URL信息;爬蟲采集子節(jié)點(diǎn)對新獲取的URL進(jìn)行一級排重,如一級排重未通過,則放棄該URL;如一級排重通過,將新獲取的URL加入本地URL摘要表并發(fā)送給中心服務(wù)器;中心服務(wù)器對新獲取的URL進(jìn)行二級排重,如二級排重通過,將URL加入全局URL摘要表;爬蟲采集子節(jié)點(diǎn)將該URL的鏈接加入到等待隊(duì)列中。該發(fā)明提供的方法通過分級排重機(jī)制可以將原來集中在中心節(jié)點(diǎn)進(jìn)行的排重任務(wù)通過一級排重分解到各爬蟲采集子節(jié)點(diǎn),中心服務(wù)器通過二級排重的方式維護(hù)一張全局排重表格。上述方法無法解決高并發(fā)時(shí)爬蟲引擎抓取URL效率的問題以及無法解決分布式爬蟲任務(wù)負(fù)載均衡問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提出一種能夠提高高并發(fā)時(shí)爬蟲引擎抓取URL效率并解決分布式爬蟲任務(wù)負(fù)載均衡的分布式爬蟲引擎的URL抓取方法及系統(tǒng),解決現(xiàn)有爬蟲引擎效率低,負(fù)載不均衡的問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案為:
一種分布式爬蟲引擎的URL抓取方法,包括如下步驟:
S100:采集URL任務(wù)并存儲;
S200:基于網(wǎng)站哈希值的任務(wù)劃分策略,將具有相同域名的URL集合分配給同一節(jié)點(diǎn)進(jìn)行爬取,并匯總爬取結(jié)果;
S300:將所爬取的URL任務(wù)所對應(yīng)的原始網(wǎng)頁進(jìn)行分布式并行聚類,去除噪聲URL任務(wù);
S400:消除去除噪聲后的URL任務(wù)內(nèi)重復(fù)的URL任務(wù);
S500:判斷已經(jīng)過消除重復(fù)的URL任務(wù)已抓取層數(shù)是否小于預(yù)設(shè)值,若是則返回步驟S300;若否則執(zhí)行步驟S600;
S600:將每一層抓取的URL任務(wù)對應(yīng)的原始網(wǎng)頁進(jìn)行合并;
在步驟S300中,在進(jìn)行分布式并行聚類之前還包括,應(yīng)用網(wǎng)頁的DOM樹結(jié)構(gòu)初步去除噪聲URL任務(wù),包括:
S301:利用<td>、<p>、<div>html標(biāo)簽對頁面進(jìn)行分割,去掉一些與渲染相關(guān)但是同URL任務(wù)無關(guān)的標(biāo)簽;
S302:利用鏈接文字比率來對噪聲鏈接進(jìn)行定位,若節(jié)點(diǎn)的文字比率高于1/4則將該節(jié)點(diǎn)所在的鏈接判定為初始噪聲鏈接并去除;
在步驟S300中,所述分布式并行聚類,去除噪聲URL任務(wù)包括如下步驟:
S311:采用映射歸約方式對原始網(wǎng)頁進(jìn)行域名解析,進(jìn)行初步分塊;
S312:將各個(gè)塊進(jìn)行singlepass聚類,并采用映射歸約的方式將聚類結(jié)果分成多個(gè)族;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于福建六壬網(wǎng)安股份有限公司,未經(jīng)福建六壬網(wǎng)安股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611037722.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 檢測反爬蟲策略安全性的方法及裝置
- 一種監(jiān)控網(wǎng)絡(luò)爬蟲的方法、裝置和系統(tǒng)
- 一種通過爬蟲狀態(tài)機(jī)管理爬蟲的方法及裝置
- 爬蟲協(xié)議管理方法及裝置、爬蟲系統(tǒng)
- 基于APP客戶端的爬蟲及爬取方法
- 視頻業(yè)務(wù)處理方法、裝置及電子設(shè)備
- 一種爬蟲方法、裝置、系統(tǒng)、設(shè)備及可讀存儲介質(zhì)
- 分布式爬蟲系統(tǒng)架構(gòu)、爬取數(shù)據(jù)的方法和計(jì)算機(jī)設(shè)備
- 基于scrapy爬蟲框架的數(shù)據(jù)采集系統(tǒng)及方法
- 多中心綜合網(wǎng)絡(luò)爬蟲系統(tǒng)
- 一種動態(tài)檢測URL重定向死循環(huán)的方法及裝置
- 一種瀏覽器側(cè)提示訪問安全信息的方法及裝置
- 一種短URL服務(wù)的實(shí)現(xiàn)方法及裝置
- 一種用于發(fā)送和驗(yàn)證URL簽名以進(jìn)行自適應(yīng)流中URL認(rèn)證和基于URL的內(nèi)容訪問授權(quán)的系統(tǒng)和方法
- 提供短統(tǒng)一資源定位符服務(wù)的方法和裝置及通信系統(tǒng)
- 一種URL檢測方法及檢測裝置
- 一種統(tǒng)一資源定位符的去重方法、裝置及電子設(shè)備
- 惡意URL檢測方法及系統(tǒng)
- 一種自身校驗(yàn)發(fā)布和訪問URL的方法、裝置、系統(tǒng)和介質(zhì)
- 一種統(tǒng)一資源定位符URL的處理方法及裝置





