專利名稱:網(wǎng)站內(nèi)容防采集系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)中網(wǎng)站內(nèi)容的采集復(fù)制技術(shù),更具體地,本發(fā)明涉及一種網(wǎng)站 內(nèi)容防采集方法。
背景技術(shù):
本文中所提到的術(shù)語“采集”,是指程序按照指定的規(guī)則定向獲取其他網(wǎng)站數(shù)據(jù)的 一種方式。網(wǎng)絡(luò)采集器是用來批量采集例如網(wǎng)頁和論壇等的內(nèi)容,將所采集的內(nèi)容直接保 存到數(shù)據(jù)庫或發(fā)布到網(wǎng)站的一種工具,它從目標(biāo)網(wǎng)頁中摘取某些數(shù)據(jù)形成統(tǒng)一的本地?cái)?shù)據(jù) 庫。例如,互聯(lián)網(wǎng)中新建立的網(wǎng)站,往往需要大量的數(shù)據(jù)充實(shí)其網(wǎng)站內(nèi)容。在這種情況下, 一些網(wǎng)站管理人員可能利用網(wǎng)絡(luò)采集器快速且大量地復(fù)制其他網(wǎng)站內(nèi)容,借助采集快速充 實(shí)其自己的網(wǎng)站。但是這種操作對被采集網(wǎng)站尤其是以原創(chuàng)內(nèi)容為主的網(wǎng)站來說,一方面 占用了被采集網(wǎng)站大量的網(wǎng)絡(luò)資源,降低了網(wǎng)絡(luò)的運(yùn)行速度和運(yùn)行效率;另一方面也侵犯 了被采集網(wǎng)站的知識產(chǎn)權(quán),因而損害被采集網(wǎng)站的利益。為了限制網(wǎng)站內(nèi)容被他人采集,防 采集技術(shù)應(yīng)運(yùn)而生。目前常見的防采集技術(shù)是在網(wǎng)站的各網(wǎng)頁內(nèi)容中使用混淆字符串。這種技術(shù)通過 在網(wǎng)頁內(nèi)容中隨機(jī)添加一些字符串實(shí)現(xiàn)。這些字符串在正常狀態(tài)下例如普通用戶在瀏覽網(wǎng) 頁時(shí)是不可見的。但在網(wǎng)頁內(nèi)容被采集之后,混淆字符串就會在采集到的網(wǎng)頁中顯示出來。 這樣采集到的內(nèi)容是混有混淆字符串的內(nèi)容,不符合采集者的要求,從而實(shí)現(xiàn)防采集的目 的。但是,這種在網(wǎng)站的各網(wǎng)頁內(nèi)容中使用混淆字符串實(shí)現(xiàn)防采集的方法有幾種固有 的缺陷。首先,在網(wǎng)頁內(nèi)容中添加的隨機(jī)字符串,雖然對于普通訪客來說是不可見的,但對 于索引網(wǎng)頁內(nèi)容的搜索引擎機(jī)器人來說,是可見內(nèi)容。這導(dǎo)致在搜索引擎的搜索結(jié)果中顯 示網(wǎng)頁內(nèi)容時(shí),可能會出現(xiàn)添加的隨機(jī)字符串。同時(shí)由于某網(wǎng)站的網(wǎng)頁內(nèi)容中混雜了無意 義的隨機(jī)字符串,有可能導(dǎo)致該網(wǎng)站在搜索引擎的搜索結(jié)果中排名靠后,不利于網(wǎng)站的推 廣和訪問量的提升。其次,采集者如果不太在意自己網(wǎng)站的網(wǎng)頁內(nèi)容質(zhì)量,網(wǎng)頁內(nèi)容中添加 的隨機(jī)字符串就起不到防采集的作用,也無法從根本上解決網(wǎng)頁內(nèi)容被采集的問題?,F(xiàn)有的防采集技術(shù)通過添加混淆字符串修改了網(wǎng)頁內(nèi)容,破壞了網(wǎng)站對搜索引擎 的友好度。同時(shí)它是一種被動的防采集措施,雖然添加了隨機(jī)字符串,但在采集者對所采集 內(nèi)容質(zhì)量要求不高的情況下,依然可以被任意采集。因此,需要一種不修改網(wǎng)頁內(nèi)容防止網(wǎng)頁內(nèi)容被采集的方法。
發(fā)明內(nèi)容
本發(fā)明通過識別網(wǎng)站訪問者是普通用戶還是采集器而防止網(wǎng)站的網(wǎng)頁內(nèi)容被采集。本發(fā)明提供一種網(wǎng)站內(nèi)容防采集系統(tǒng),該系統(tǒng)包括獲取單元,用于獲取用戶的ID,IP地址,User-Agent和當(dāng)前時(shí)間;
查詢單元,用于查詢用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量;比較單元,用于將所述記錄的用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量與設(shè)定值 進(jìn)行比較,禁止單元,當(dāng)用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量大于設(shè)定值時(shí),禁止該用 戶對網(wǎng)站的訪問。優(yōu)選地,該網(wǎng)站內(nèi)容防采集系統(tǒng)進(jìn)一步包括存儲單元,用于存儲IP地址白名單和IP地址黑名單;和判斷單元,如果所獲取的用戶的IP地址屬于IP地址白名單,則該用戶對網(wǎng)站的訪 問被允許;如果所獲取的用戶的IP地址屬于IP地址黑名單,則該用戶對網(wǎng)站的訪問被禁止。優(yōu)選地,所述IP地址白名單包括搜索引擎的IP地址。本發(fā)明提供一種網(wǎng)站內(nèi)容防采集方法,該方法包括獲取用戶的ID,IP地址,User-Agent和當(dāng)前時(shí)間;對用戶在預(yù)定時(shí)間段內(nèi)訪問的網(wǎng)站頁面進(jìn)行計(jì)數(shù)獲得該預(yù)定時(shí)間段的用戶訪問 量;將該訪問量與設(shè)定值進(jìn)行比較;如果該訪問量大于設(shè)定值時(shí),則禁止該用戶對網(wǎng)站的訪問。優(yōu)選地,在所述獲取用戶的IP地址步驟之后,如果所獲取的用戶的IP地址屬于IP地址白名單,則允許該用戶對網(wǎng)站的訪問;如果所獲取的用戶的IP地址屬于IP地址黑名單,則禁止該用戶對網(wǎng)站的訪問。優(yōu)選地,該方法進(jìn)一步包括將搜索引擎的IP地址放入IP地址白名單列表。優(yōu)選地,將被禁止用戶的IP地址放入IP地址黑名單列表。優(yōu)選地,該預(yù)定時(shí)間段為1-600秒,設(shè)定值的數(shù)值為預(yù)定時(shí)間段秒數(shù)的1-50倍。由于采集是一種通過快速復(fù)制其他網(wǎng)站的網(wǎng)頁內(nèi)容獲取其他網(wǎng)站數(shù)據(jù)的方法,采 集器在執(zhí)行采集時(shí),會快速密集的訪問網(wǎng)站頁面,訪問頻率例如可達(dá)到每分鐘120頁甚至 更多。相反,普通用戶在瀏覽網(wǎng)站時(shí),一般情況下不會達(dá)到這么高的訪問頻率。通過這種差 異,就可以識別采集器的訪問,從而限制采集器繼續(xù)獲取網(wǎng)站內(nèi)容。根據(jù)本發(fā)明的網(wǎng)站內(nèi)容防采集方法通過利用不同于通過添加混淆字符串實(shí)現(xiàn)防 采集的原理,解決了目前防采集技術(shù)存在的缺陷。根據(jù)本發(fā)明的網(wǎng)站內(nèi)容防采集方法不對 網(wǎng)站內(nèi)容做任何修改,不會影響搜索引擎的索引。同時(shí),由于此方法可以區(qū)分網(wǎng)站訪問者是 普通用戶還是采集器,通過限制采集器對網(wǎng)站的訪問,從根本上解決了網(wǎng)站內(nèi)容被大量采 集的問題。
下面參照附圖并結(jié)合實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明,其中,圖1示出根據(jù)本發(fā)明優(yōu)選實(shí)施例的系統(tǒng)的框圖;圖2示出根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的方法流程圖;圖3示出根據(jù)本發(fā)明另一個(gè)優(yōu)選實(shí)施例的方法流程圖。
具體實(shí)施例方式圖1示出根據(jù)本發(fā)明優(yōu)選實(shí)施例的網(wǎng)站內(nèi)容防采集系統(tǒng)100的結(jié)構(gòu)框圖。該系統(tǒng) 包括獲取單元,用于獲取用戶的ID,IP地址,User-Agent和當(dāng)前時(shí)間;查詢單元,用于查詢 用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量;比較單元,用于將所述記錄的用戶在預(yù)定時(shí)間 段內(nèi)對網(wǎng)站頁面的訪問量與設(shè)定值進(jìn)行比較;和禁止單元,用于當(dāng)用戶在預(yù)定時(shí)間段內(nèi)對 網(wǎng)站頁面的訪問量大于設(shè)定值時(shí),禁止該用戶對網(wǎng)站的訪問。網(wǎng)站內(nèi)容防采集系統(tǒng)的獲取單元可以在收到每次訪問請求時(shí)記錄訪問者的ID, IP地址、用戶代理^ser-Agent)及訪問時(shí)間。在訪問者通過瀏覽器程序如hternet Explorer,或通過采集器程序訪問網(wǎng)站時(shí),訪問者的瀏覽器程序或采集器程序通常會向網(wǎng) 站發(fā)送一段用來描述自己身份的字符串,這段字符串被稱為her-Agent。用戶使用的不同 的軟件通常會發(fā)送不同的her-Agent。通過將訪問者的IP地址和her-Agent組合,網(wǎng)站 可以識別和區(qū)分每一個(gè)訪問者。查詢單元查詢當(dāng)前訪問者在單位時(shí)間段內(nèi)訪問的網(wǎng)站頁面 的數(shù)量即訪問量。比較單元將查詢單元查詢到的該用戶的訪問量和設(shè)定的訪問量相比較, 如果在單位時(shí)間段內(nèi)的頁面訪問量超過設(shè)定的訪問量,即可判定該訪問者的訪問屬于非正 常訪問。禁止單元可以禁止該訪問者對網(wǎng)站的該非正常訪問。單位時(shí)間段和單位時(shí)間段內(nèi)的頁面訪問量的設(shè)定值是兩個(gè)可以在網(wǎng)站程序配置 中分別修改的變量。單位時(shí)間段可設(shè)置為例如10-600秒之間。單位時(shí)間段設(shè)置過短可能 導(dǎo)致普通用戶的訪問被誤判為非正常訪問,單位時(shí)間段設(shè)置過長則可能導(dǎo)致在設(shè)置的時(shí)間 段里采集器已經(jīng)采集了大量數(shù)據(jù)后網(wǎng)站才檢測到當(dāng)前的訪問是采集器的訪問。由于采集器 在執(zhí)行采集時(shí)通常有每秒鐘1頁至50頁的頻率,因此單位時(shí)間段內(nèi)的頁面訪問量的數(shù)值可 設(shè)置為所選擇以秒為單位的單位時(shí)間段的1-50倍。例如,可以將單位時(shí)間段設(shè)置為60秒, 將該單位時(shí)間段內(nèi)頁面訪問量的設(shè)定值設(shè)置為600頁。由于采集器的采集速度受網(wǎng)速及網(wǎng) 站響應(yīng)速度等多種因素的影響,具體的單位時(shí)間段和單位時(shí)間段內(nèi)的頁面訪問量應(yīng)允許網(wǎng) 站管理員根據(jù)實(shí)際情況進(jìn)行設(shè)置。另外,根據(jù)本發(fā)明的網(wǎng)站內(nèi)容防采集系統(tǒng)可進(jìn)一步包括用于存儲IP地址白名單 和IP地址黑名單的存儲單元,和判斷單元,該判斷單元用于判斷用戶的地址是否屬于IP白 地址或?qū)儆贗P黑地址,如果屬于IP白地址,則用戶對網(wǎng)站的訪問被允許,如果屬于IP黑地 址,則用戶對網(wǎng)站的訪問被禁止。由于搜索引擎在索引網(wǎng)站數(shù)據(jù)時(shí)也可能出現(xiàn)較高的訪問 頻率,為防止搜索引擎的索引操作被誤判為采集,根據(jù)本發(fā)明的網(wǎng)站內(nèi)容防采集系統(tǒng)可提 供IP地址白名單功能,將常見搜索引擎的IP地址或IP地址段加入IP地址白名單。來自 這些IP地址的訪問將繞過訪問頻率的判斷,不受訪問量設(shè)定值的限制。進(jìn)一步,根據(jù)本發(fā) 明的網(wǎng)站內(nèi)容防采集系統(tǒng)可提供IP地址黑名單功能,將常見的采集器IP地址加入IP地址 黑名單。來自這些IP地址的訪問將繞過訪問頻率的判斷,直接被禁止。圖2示出根據(jù)明一個(gè)優(yōu)選實(shí)施例的方法流程圖。根據(jù)該實(shí)施例的網(wǎng)站內(nèi)容防采集 方法,包括以下步驟獲取用戶的ID,IP地址,User-Agent和當(dāng)前時(shí)間;對用戶在預(yù)定時(shí)間 段內(nèi)訪問的網(wǎng)站頁面進(jìn)行計(jì)數(shù)獲得該預(yù)定時(shí)間段的用戶訪問量;將該訪問量與設(shè)定值進(jìn)行 比較;如果該訪問量大于設(shè)定值時(shí),則禁止該用戶對網(wǎng)站的訪問。圖3示出根據(jù)本發(fā)明另一個(gè)優(yōu)選實(shí)施例的方法流程圖。由于搜索引擎在索引網(wǎng)站 數(shù)據(jù)時(shí)也可能出現(xiàn)較高的訪問頻率,為防止搜索引擎的索引操作被誤判為采集,根據(jù)本發(fā)明的網(wǎng)站內(nèi)容防采集系統(tǒng)可提供IP地址白名單功能,將常見搜索引擎的IP地址或IP地址 段加入IP地址白名單。來自這些IP地址的訪問將繞過訪問頻率的判斷,不受訪問量設(shè)定 值的限制。圖3所示方法不同于圖2所示方法步驟之處在于,在所述獲取用戶的IP地址步 驟之后,首先判斷該用戶IP地址是否屬于IP地址白名單,如果屬于,則允許該用戶對網(wǎng)站 的訪問。如果不屬于,則判斷該用戶IP地址是否屬于IP地址黑名單。如果屬于,則禁止該 用戶對網(wǎng)站的訪問。如果不屬于,則如圖2所示,繼續(xù)查詢該用戶對網(wǎng)站頁面的訪問數(shù)量的 步驟。下面以PHP+MySQL的開發(fā)環(huán)境為例說明實(shí)施方法,其他語言類似數(shù)據(jù)庫可通過下列SQL語句建立數(shù)據(jù)表CREATE TABLE"visitlist"(~icfINT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,VARCHAR(40)NOT NULL DEFAULT",“useragent"VARCHAR(255)NOT NULL DEFAULT",~time~INT(10)NOT NULL DEFAULT' 0') ENGINE = MYISAM ;數(shù)據(jù)表中有4個(gè)字段:id, ip,useragent, time分別表示記錄ID,用戶IP,用戶 User-Agent,訪問時(shí)間。主要的程序代碼說明獲取用戶 IP、User-Agent 信息程序首先要獲取用戶的IP、her-Agent,及當(dāng)前時(shí)間信息,代碼如下$ip = $_SERVER[' REM0TE_ADDR'];$useragent = $_SERVER[' HTTP_USER_AGENT‘];$time = time () ;//time ()函數(shù)返回以秒為單位的當(dāng)前UNIX時(shí)間戳然后,將以上數(shù)據(jù)存入數(shù)據(jù)庫。代碼如下mysql_query(“ INSERT INTO visitlist (、ip、,、useragent丫time、)values(‘ $ip' , ' $useragent' , ' $time')〃 );查詢當(dāng)前用戶在單位時(shí)間段內(nèi)訪問的頁面數(shù)假設(shè)單位時(shí)間段是一個(gè)網(wǎng)站管理員已經(jīng)設(shè)置好的常量define (‘ DURATION',60);$time_start = time ()-DURATION ;//通過當(dāng)前時(shí)間減去設(shè)置的時(shí)間段,就是計(jì)數(shù) 開始時(shí)間$query = mysql_query ( “ SELECT COUNT (*) AS visit_count FROM visitlistffHERE"time" > $time_start AND—ip— = ' {$this- > base- > ip} ' AND、useragent、=' {$useragent}"');$row = mysql_fetch_array($query);$visit_count = isset($row[ ' visit_count ' ]) ? $row[ ' vist_ count' ] : 0 ;判斷單位時(shí)間段內(nèi)訪問的頁面數(shù)是否大于設(shè)定值,并處理最終結(jié)果
假設(shè)單位時(shí)間段內(nèi)訪問的頁面數(shù)是一個(gè)網(wǎng)站管理員已經(jīng)設(shè)置好的常量define(‘ MAX_PAGES' ,300);if($visit_count > MAX_PAGES){exit('訪問頻率過高,禁止訪問');//此處也可以將訪問者的IP地址加入網(wǎng)站 IP黑名單列表,可以更有效的禁止用戶訪問。}應(yīng)當(dāng)理解,以上借助本發(fā)明的優(yōu)選實(shí)施例本發(fā)明的技術(shù)方案進(jìn)行了詳細(xì)說明,應(yīng) 當(dāng)理解,以上說明是示意性的而非限制性的。本領(lǐng)域的普通技術(shù)人員在閱讀本發(fā)明說明書 的基礎(chǔ)上可以對各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同 替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的 精神和范圍。本發(fā)明的保護(hù)范圍僅由隨附權(quán)利要求書限定。
權(quán)利要求
1.一種網(wǎng)站內(nèi)容防采集系統(tǒng),其特征在于,該系統(tǒng)包括獲取單元,用于獲取用戶的ID,IP地址,User-Agent和當(dāng)前時(shí)間;查詢單元,用于查詢用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量;比較單元,用于將所述記錄的用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量與設(shè)定值進(jìn)行 比較,禁止單元,當(dāng)用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量大于設(shè)定值時(shí),禁止該用戶對 網(wǎng)站的訪問。
2.根據(jù)權(quán)利要求1的網(wǎng)站內(nèi)容防采集系統(tǒng),其特征在于,該預(yù)定時(shí)間段為1-600秒,該 設(shè)定值的數(shù)值為預(yù)定時(shí)間段秒數(shù)的1-50倍。
3.根據(jù)權(quán)利要求1的網(wǎng)站內(nèi)容防采集系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括存儲單元,用于存儲IP地址白名單和IP地址黑名單;和判斷單元,如果所獲取的用戶的IP地址屬于IP地址白名單,則該用戶對網(wǎng)站的訪問被 允許;如果所獲取的用戶的IP地址屬于IP地址黑名單,則該用戶對網(wǎng)站的訪問被禁止。
4.根據(jù)權(quán)利要求3的網(wǎng)站內(nèi)容防采集系統(tǒng),其特征在于,所述IP地址白名單包括搜索 引擎的IP地址。
5.一種網(wǎng)站內(nèi)容防采集方法,其特征在于,該方法包括獲取用戶的ID,IP地址,User-Agent和當(dāng)前時(shí)間;對用戶在預(yù)定時(shí)間段內(nèi)訪問的網(wǎng)站頁面進(jìn)行計(jì)數(shù)獲得該預(yù)定時(shí)間段的用戶訪問量;將該訪問量與設(shè)定值進(jìn)行比較;如果該訪問量大于設(shè)定值時(shí),則禁止該用戶對網(wǎng)站的訪問。
6.根據(jù)權(quán)利要求5的網(wǎng)站內(nèi)容防采集方法,其特征在于,該預(yù)定時(shí)間段為1-600秒,設(shè) 定值的數(shù)值為預(yù)定時(shí)間段秒數(shù)的1-50倍。
7.根據(jù)權(quán)利要求5的網(wǎng)站內(nèi)容防采集方法,其特征在于,在所述獲取用戶的IP地址步 驟之后,如果所獲取的用戶的IP地址屬于IP地址白名單,則允許該用戶對網(wǎng)站的訪問。
8.根據(jù)權(quán)利要求5的網(wǎng)站內(nèi)容防采集方法,其特征在于,在所述獲取用戶的IP地址步 驟之后,如果所獲取的用戶的IP地址屬于IP地址黑名單,則禁止該用戶對網(wǎng)站的訪問。
9.根據(jù)權(quán)利要求5的網(wǎng)站內(nèi)容防采集方法,其特征在于,該方法進(jìn)一步包括將搜索引 擎的IP地址放入IP地址白名單列表。
10.根據(jù)權(quán)利要求5的網(wǎng)站內(nèi)容防采集方法,其特征在于,將被禁止用戶的IP地址放入 IP地址黑名單列表。
全文摘要
本發(fā)明提供一種網(wǎng)站內(nèi)容防采集系統(tǒng)和方法。本發(fā)明的網(wǎng)站內(nèi)容防采集系統(tǒng)包括獲取單元,用于獲取用戶的ID,IP地址,User-Agent和當(dāng)前時(shí)間;查詢單元,用于查詢用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量;比較單元,用于將所述記錄的用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量與設(shè)定值進(jìn)行比較,禁止單元,當(dāng)用戶在預(yù)定時(shí)間段內(nèi)對網(wǎng)站頁面的訪問量大于設(shè)定值時(shí),禁止該用戶對網(wǎng)站的訪問。根據(jù)本發(fā)明的方法可以在不修改網(wǎng)頁內(nèi)容的情況下防止網(wǎng)頁內(nèi)容被采集。
文檔編號G06F17/30GK102088477SQ201010566679
公開日2011年6月8日 申請日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者孟凡斌, 梅春, 潘海東 申請人:互動在線(北京)科技有限公司