摘要:網(wǎng)站數(shù)據(jù)的采集對(duì)于一個(gè)網(wǎng)站的建設(shè)具有十分重要的作用,該文將針對(duì)網(wǎng)站數(shù)據(jù)采集的基本原理和常用的防范策略進(jìn)行研究。首先,研究了網(wǎng)站數(shù)據(jù)采集的技術(shù)原理,接下來(lái)針對(duì)常用幾種網(wǎng)站數(shù)據(jù)防采集技術(shù)進(jìn)行了簡(jiǎn)要的介紹。
關(guān)鍵詞:網(wǎng)站;數(shù)據(jù)采集;防采集;網(wǎng)頁(yè)數(shù)據(jù)
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)05-0930-02
1 概述
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和普及,因特網(wǎng)已經(jīng)成為人們?nèi)粘I詈凸ぷ髦蝎@取信息的重要來(lái)源。Internet中的數(shù)據(jù)通常以Web頁(yè)面的方式呈現(xiàn)給用戶,在建站的時(shí)候?yàn)榱素S富網(wǎng)站的數(shù)據(jù)量,網(wǎng)站管理員通常使用網(wǎng)絡(luò)爬蟲等數(shù)據(jù)采集工具從其他網(wǎng)站采集數(shù)據(jù)。網(wǎng)站數(shù)據(jù)采集是指通過(guò)一定的技術(shù)手段將某一網(wǎng)站的所有網(wǎng)頁(yè)內(nèi)容或部分網(wǎng)頁(yè)內(nèi)容批量抓取到自己網(wǎng)站中[1]。然而,非法的網(wǎng)站數(shù)據(jù)采集將可能造成網(wǎng)站服務(wù)器承載過(guò)重的負(fù)荷進(jìn)而崩潰,與此同時(shí)這一行為也違反了版權(quán)保護(hù)相關(guān)的法律。因此,了解網(wǎng)絡(luò)采集的基本原理和相關(guān)的防御措施在網(wǎng)站的建站和后期維護(hù)過(guò)程中具有極為重要的作用。
2 網(wǎng)站數(shù)據(jù)采集基本原理
在進(jìn)行網(wǎng)站數(shù)據(jù)的采集時(shí)根據(jù)采集工具的種類和開發(fā)語(yǔ)言的不同,通常網(wǎng)站數(shù)據(jù)獲取的方式也是不同的。但它們的基本原理都是通過(guò)訪問(wèn)被采集站點(diǎn)來(lái)提取被采集站點(diǎn)的相應(yīng)數(shù)據(jù)[2]。通過(guò)制定適當(dāng)?shù)臄?shù)據(jù)采集規(guī)則來(lái)判斷什么樣的網(wǎng)絡(luò)地址是有效的、那些數(shù)據(jù)需要被采集和如何提取這些有效的信息。網(wǎng)站數(shù)據(jù)采集的基本原理如圖1所示。
獲取待采集網(wǎng)站中分頁(yè)列表中的每一頁(yè)地址是網(wǎng)站數(shù)據(jù)采集的前置條件,一般情況下一個(gè)JSP語(yǔ)言編寫的Web頁(yè)面具有如下特征:動(dòng)態(tài)頁(yè)面的第N頁(yè)為index.jsp? page=N,它所對(duì)應(yīng)的靜態(tài)頁(yè)面為page_N.html。因此,只需要使用變量替換代表每頁(yè)地址變化的字符即可獲得相應(yīng)的頁(yè)面地址。目前,一個(gè)Web頁(yè)面的分頁(yè)頁(yè)面中內(nèi)容的超鏈接一般表示如下:連接
,只需要編寫適當(dāng)?shù)拇a既可以獲取該頁(yè)內(nèi)容所對(duì)應(yīng)的URL鏈接。在動(dòng)態(tài)生成的頁(yè)面中大多數(shù)內(nèi)容頁(yè)面中都包含相同的html標(biāo)記,因此可以根據(jù)已定義規(guī)則的標(biāo)記提取相關(guān)的需要部分的內(nèi)容。例如:每個(gè)Web頁(yè)面都有相應(yīng)的標(biāo)題,代碼中呈現(xiàn)為
圖1 網(wǎng)站數(shù)據(jù)采集基本原理圖
3 網(wǎng)站防采集策略
目前,常用的網(wǎng)站數(shù)據(jù)防采集策略包括以下幾種:
1)通過(guò)在單位時(shí)間內(nèi)限制固定IP地址對(duì)同一個(gè)網(wǎng)站所有站點(diǎn)的訪問(wèn)次數(shù)來(lái)避免網(wǎng)站數(shù)據(jù)采集。
一般情況下,用戶在正常訪問(wèn)某一個(gè)網(wǎng)站時(shí)不會(huì)在極短的時(shí)間內(nèi)多次訪問(wèn)同一個(gè)網(wǎng)站,只有網(wǎng)絡(luò)引擎爬蟲和網(wǎng)站數(shù)據(jù)采集工具會(huì)造成這樣的現(xiàn)象。但是這種方法容易造成誤判,并且如何設(shè)計(jì)時(shí)間的閾值是這種方法的關(guān)鍵。
2)通過(guò)人工的方式屏蔽可疑的訪問(wèn)源IP。
網(wǎng)站的管理人員通過(guò)在后臺(tái)設(shè)置計(jì)數(shù)器來(lái)記錄訪問(wèn)的源IP及在單位時(shí)間內(nèi)的訪問(wèn)頻率,進(jìn)而通過(guò)人工干預(yù)的方式判斷并屏蔽可疑的IP地址。這種方法適用于小型的網(wǎng)站,大型的網(wǎng)站可能需要大量的人力來(lái)進(jìn)行,同時(shí)這種方法難以解決通過(guò)代理的方式進(jìn)行數(shù)據(jù)采集的問(wèn)題。
3)將網(wǎng)站的內(nèi)容以flash動(dòng)畫、圖片或者PDF文檔的格式進(jìn)行呈現(xiàn)。
目前的搜索引擎爬蟲和網(wǎng)站數(shù)據(jù)采集工具還不具備對(duì)PDF文檔和圖片的識(shí)別和分析能力。這種方法能夠有效地避免網(wǎng)站數(shù)據(jù)被非法采集,但是它的適用面較窄,僅適用于一些用于多媒體視覺呈現(xiàn)的網(wǎng)站。
4)通過(guò)在網(wǎng)頁(yè)內(nèi)嵌套藏網(wǎng)站的版權(quán)信息或者利用水印技術(shù)對(duì)Web頁(yè)面進(jìn)行加密。
一般情況下,這些用于保護(hù)網(wǎng)站數(shù)據(jù)的信息被寫在了相應(yīng)的CSS文件中。這種方法雖然不能阻止網(wǎng)站數(shù)據(jù)被非法采集,但它能夠使得被采集的數(shù)據(jù)無(wú)法完整的呈現(xiàn)在其他網(wǎng)站中。因?yàn)?,網(wǎng)站數(shù)據(jù)采集工具或網(wǎng)絡(luò)爬蟲一般不會(huì)同時(shí)采集網(wǎng)站中的CSS文件,那些數(shù)據(jù)丟失了相應(yīng)的格式化設(shè)置,就被顯示出來(lái)了。
5)通過(guò)在網(wǎng)站中對(duì)訪問(wèn)者設(shè)置權(quán)限來(lái)保護(hù)數(shù)據(jù)。
這種方法要求用戶只有在登錄了系統(tǒng)后才能夠?yàn)g覽網(wǎng)站的數(shù)據(jù)。自動(dòng)化的數(shù)據(jù)采集工具和網(wǎng)絡(luò)爬蟲無(wú)法對(duì)每一個(gè)網(wǎng)站進(jìn)行登錄,這種方法可極大程度上避免數(shù)據(jù)被采集,但同時(shí)網(wǎng)站的用戶友好性就降低了。
6)利用腳本語(yǔ)言對(duì)網(wǎng)站做隱藏分頁(yè)設(shè)置
由于網(wǎng)站數(shù)據(jù)采集工具和網(wǎng)絡(luò)爬蟲不會(huì)針對(duì)一個(gè)網(wǎng)站的隱藏分頁(yè)進(jìn)行數(shù)據(jù)的分析,因此,這種方法能夠有效地阻止自動(dòng)化工具對(duì)網(wǎng)站數(shù)據(jù)的采集。這種方法適用于對(duì)搜索引擎依賴度不高的網(wǎng)站,同時(shí)它無(wú)法阻止人工進(jìn)行網(wǎng)站數(shù)據(jù)的采集。
7)對(duì)于動(dòng)態(tài)的網(wǎng)站,可以采用隨機(jī)的模版避免非法數(shù)據(jù)采集。
由于網(wǎng)站數(shù)據(jù)采集工具是根據(jù)網(wǎng)頁(yè)特定的結(jié)構(gòu)來(lái)定位所需要采集的數(shù)據(jù),一旦網(wǎng)站的模版出現(xiàn)變更,采集工具中事前設(shè)定好的采集規(guī)則就會(huì)失效,這樣就可以避免網(wǎng)站的數(shù)據(jù)被非法地采集。這種方法造成的問(wèn)題是破壞網(wǎng)站的用戶友好性。
8)在網(wǎng)頁(yè)中使用動(dòng)態(tài)不規(guī)則的html標(biāo)簽代替?zhèn)鹘y(tǒng)的靜態(tài)html標(biāo)簽。
在html標(biāo)簽中包含空格和不包含空格的效果是一樣的,因此包含和不包含
4 結(jié)論
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和個(gè)人PC機(jī)的不斷普及,越來(lái)越多人參與到網(wǎng)站的建設(shè)和維護(hù)中。如何有效地避免網(wǎng)站中的數(shù)據(jù)被非法的采集是每一個(gè)網(wǎng)管員必須掌握技能。該文主要研究了網(wǎng)站數(shù)據(jù)采集的基本原理和八種常用的網(wǎng)站數(shù)據(jù)防采集的方法,希望能為網(wǎng)站的建設(shè)和維護(hù)提供更多的幫助,。
參考文獻(xiàn):
[1] 巫志勇.基于XMLHTTP的網(wǎng)站數(shù)據(jù)自動(dòng)采集[J].福建電腦,2007(01).
[2] 溫世豪.瘋狂的站長(zhǎng)[M].北京:清華大學(xué)出版社,2010.
[3] 吳振豐.網(wǎng)站建設(shè)與管理[M].北京:高等教育出版社,2006.