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