999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

自動采集網站數據與反自動采集網站數據方法的研究

2015-04-20 21:25:06陳國耀
科技創新與應用 2015年11期
關鍵詞:研究

陳國耀

摘 要:網站安全問題一直都是網絡安全領域的技術人員研究的重點問題之一,其不僅包含網站受非法攻擊、入侵、服務器端代碼被篡改、被注入木馬等問題,而且包含被特定自動采集數據軟件自動采集網站數據等問題。若自動采集網站數據軟件長時間運行,必然對網站服務器造成巨大壓力,甚至直接導致網站服務器的崩潰。文章基于windows平臺下的JAVA編程語言如何實現自動采集網站數據以及如何反自動采集網站數據進行深入研究。

關鍵詞:自動采集;網站數據;反自動采集;研究

1 研究背景及意義

現代社會是一個信息社會,工作、生活越來越離不開信息的支撐,信息技術和信息產業在經濟、社會發展中的作用日益增強,并逐漸發揮著主導作用,成為比物質、能源更為重要的資源。數據已經成為一種商品進行交易,對數據進行再加工、提取、去噪、排序、整合后得出的數據往往具有非常高的商業價值,因為這些經過處理的數據能夠更有效地指導商業決策,以使得公司、企業能夠在競爭激烈的商業環境中處于不敗之地。比如要獲取某市年溫度、降雨量等信息,則從該市氣象局網站上獲取的數據較為權威、可信;要獲取某市的高新技術企業信息,則從該市負責注冊高新技術企業的政府網站獲取的數據較為準確;即準確的數據往往來自官方網站、權威性網站,而官方數據、權威數據的獲取往往具有一定的困難或限制,比如只能按條進行順序查詢,不能進行批量查詢,如果采用人工復制、采集的方式獲取完整的、大批量的數據,時間、開銷等各個方面均不允許,于是采用具有自動采集數據功能的軟件采集網站數據往往成為人們獲取官方、具有權威性、完整、大批量數據常用的手段。

目前比較流行的編程語言c++、c#、java、python等實現自動采集網站數據的原理類似,只是語法或所使用的組件不同,文章對基于windows平臺下的java編程語言實現自動采集網站數據以及反自動采集網站數據的方法進行探討。

2 自動采集網站數據的方法

通常由編程語言實現的自動采集網站數據均要通過模擬客戶端向服務器發送請求的方式,獲取服務器返回的數據,從中提取所需數據。

具體又分為兩類:

(1)模擬客戶端向網站服務器發送請求,直接獲取服務器返回的html格式的數據,并對該數據進行解析從中提取所需數據。采用java語言實現的核心代碼如下:

URL url = new URL(websiteAddress);

// websiteAddress為請求網址,為待查詢數據的查詢結果頁面

URLConnection connection = url.openConnection();

//創建與網站服務器的連接

connection.setDoOutput(true);

connection.setDoInput(true);

OutputStreamWriter out = new

OutputStreamWriter(connection.getOutputStream(), "GBK");

//根據網站服務器端操作系統編碼設置相應的請求參數編碼

out.write(otherRequestParams);

//otherRequestParams為請求附帶的參數

out.flush();

out.close();

//以下代碼用于接收、讀取服務器端返回的數據

InputStream l_urlStream=null;

l_urlStream = connection.getInputStream();

BufferedReader l_reader = new BufferedReader(new InputStreamReader(l_urlStream));

while ((sCurrentLine = l_reader.readLine()) != null) {

sTotalString += sCurrentLine;

}

然后采用Java提供的subString()函數或正則表達式對從服務器端獲取的字符串組合進行解析,從中提取所需數據。

(2)當網站服務器端對返回值進行一定的加密設置,或者通過其它手段使得客戶端獲取的響應內容無效等,即通過正常的請求、響應機制獲取不到服務器端后臺返回的數據。而通過在客戶端的瀏覽器中輸入請求網址,能夠正常獲取服務器端響應的html文件;即網站服務器返回數據并將其裝配成html文件返回到客戶端,在客戶端的瀏覽器中能夠讀取到該html文件,但是我們的后臺應用程序卻獲取不到服務器端返回的數據。此時可采用JAVA提供的Robot類進行相應的操作以獲取數據。

關于Robot類:此類用于為測試自動化、自運行演示程序和其他需要控制鼠標和鍵盤的應用程序生成本機系統輸入事件。Robot的主要目的是便于JAVA平臺實現自動測試。該類提供的模擬鍵盤、鼠標功能使得我們不僅能夠利用其開發自動測試應用程序,而且能夠開發其它無需手動控制、自動執行的“機器人”應用程序。采用java語言的Robot類實現的自動采集網站數據的核心代碼如下:

//通過模擬鍵盤按鍵在地址欄中輸入請求網址

Robot robot = new Robot();

robot.keyPress(KeyEvent.鍵值);

robot.keyRelease(KeyEvent.鍵值);

//通過復制、粘貼的方式獲取從網站服務器端返回的html頁面

robot.keyPress(KeyEvent.VK_CONTROL);

robot.keyPress(KeyEvent.VK_C);

robot.keyRelease(KeyEvent.VK_C);

robot.keyRelease(KeyEvent.VK_CONTROL);

//得到剪貼板中的內容

Transferable contents=sysc.getContents(this);

stringEachPageGet = (String) contents.getTransferData(DataFlavor.stringFlavor);

}

然后利用java語言的subString()函數或正則表達式對獲取的字符串進行解析,從中提取所需信息。

3 反自動采集網站數據的方法

針對上述基于windows平臺下的JAVA編程語言實現的自動采集網站數據的方法,我們可以采取以下方法進行應對,以防止網站數據被數據采集軟件自動采集:

(1)定期或隨機更改返回客戶端瀏覽器html文件的格式。目前網站服務器與客戶端間的通信基本上都是基于http協議,該協議是一個請求-響應式的協議,服務端返回的內容多為html文件。數據采集軟件依據html文件內容的格式對從服務端返回的內容進行解析,隨機改變返回html文件的格式就可以阻斷解析的過程,從而阻斷數據采集的過程。

(2)針對不同的瀏覽器,通過在服務器端返回的html頁面中加入防復制、禁止保存網頁等功能的JS代碼,可以阻斷自動采集網站數據軟件的采集過程。

猜你喜歡
研究
FMS與YBT相關性的實證研究
2020年國內翻譯研究述評
遼代千人邑研究述論
視錯覺在平面設計中的應用與研究
科技傳播(2019年22期)2020-01-14 03:06:54
關于遼朝“一國兩制”研究的回顧與思考
EMA伺服控制系統研究
基于聲、光、磁、觸摸多功能控制的研究
電子制作(2018年11期)2018-08-04 03:26:04
新版C-NCAP側面碰撞假人損傷研究
關于反傾銷會計研究的思考
焊接膜層脫落的攻關研究
電子制作(2017年23期)2017-02-02 07:17:19
主站蜘蛛池模板: 超碰91免费人妻| 国产成人无码综合亚洲日韩不卡| 欧美一级高清片欧美国产欧美| 九九热视频在线免费观看| 亚洲一级毛片在线观播放| 欧美色99| 亚洲乱强伦| 好吊日免费视频| 国产精品成| 2020国产精品视频| 亚洲国产天堂在线观看| 中文字幕2区| 亚洲欧美日韩中文字幕在线| 日本午夜三级| 亚洲天堂视频网| 久久9966精品国产免费| 国产精品欧美亚洲韩国日本不卡| 婷婷丁香在线观看| 婷婷综合缴情亚洲五月伊| 欧美激情,国产精品| 亚洲国产成人精品青青草原| 国产成人a在线观看视频| 韩国福利一区| 91毛片网| 无码区日韩专区免费系列| 中文字幕永久在线观看| 国产特级毛片aaaaaaa高清| 97在线国产视频| 亚洲一区二区三区国产精品| 国产色婷婷| 毛片基地视频| 婷婷久久综合九色综合88| 亚洲精品成人片在线观看| 亚洲欧洲日产无码AV| 毛片网站在线看| 欧美色综合网站| 91丨九色丨首页在线播放| 国产亚洲精品精品精品| 韩日无码在线不卡| 国产精品性| 国产精品熟女亚洲AV麻豆| 亚洲嫩模喷白浆| 亚洲成人黄色在线观看| 国产成人精品午夜视频'| 欧美日韩国产一级| 国产欧美精品一区二区| 国产欧美视频在线观看| 99青青青精品视频在线| 精品一区二区三区水蜜桃| 亚洲一区网站| 日韩精品一区二区三区中文无码| 一本大道无码高清| 亚洲无码高清一区| 在线观看视频99| 亚洲国产理论片在线播放| 暴力调教一区二区三区| 久久久受www免费人成| 亚洲日本中文字幕乱码中文| www精品久久| 91精品综合| 欧美成人精品高清在线下载 | 日韩乱码免费一区二区三区| 欧美日本在线观看| 欧美成人影院亚洲综合图| 国产成人久视频免费| 日韩精品亚洲人旧成在线| 亚洲日本中文综合在线| AV熟女乱| 97一区二区在线播放| 国产精品观看视频免费完整版| 国产免费福利网站| 伊人成色综合网| 国产精品区视频中文字幕| 亚洲美女操| 国产成人无码久久久久毛片| 任我操在线视频| 国产成人夜色91| 日本在线免费网站| 97av视频在线观看| 亚洲美女一区| 极品国产一区二区三区| 精品亚洲欧美中文字幕在线看 |