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

抓取HTTP協議POST文本數據方法設計

2016-10-18 05:35:30劉一峰,劉冰,郭良動
中國科技信息 2016年18期
關鍵詞:設置文本方法

抓取HTTP協議POST文本數據方法設計

21世紀是信息時代。當前的萬維網是一個巨大的存儲、共享文本和圖像信息的分布式媒介,計算機是展現文字或圖像的一個平臺。從萬維網上獲取文本資源的集合可以作為Web挖掘的語料庫。隨著信息科學技術的發展,基于HTTP協議POST請求的文檔量占的比重越來越大,研究如何快速并準確地從萬維網中抓取POST請求類型的文本數據能夠豐富Web挖掘技術的語料庫,同時對其他需要大量POST文本數據的行業也有一定的意義。

本課題主要研究如何從萬維網中抓取帶有持續Cookie(persistent cookie)的POST文本數據。現以Windows 7的32位系統作為測試平臺,以eclipse Mars.1為開發平臺,研究一個快速抓取POST文本數據的方法。

HTTP協議概述

HTTP協議,即超文本傳輸協議(Hyper-text transfer protocol),是用于從萬維網服務器傳輸超文本到本地瀏覽器的傳送協議。HTTP是一個應用層協議,由請求和響應這兩種報文組成。請求方法有8中類型,GET、POST、HEAD、PUT、DELETE、TRACE、CONNECT和OPTIONS等。其中GET和POST是最常見的兩種請求方式。GET是以實體的方式得到由請求URI所指定資源的信息,如果請求URI只是一個數據產生過程,那么最終要在響應實體中返回的是處理過程的結果所指向的資源,而不是處理過程的描述。POST則用來向目的服務器發送請求,要求它接受背負在請求后的實體,并把它當作請求隊列中請求URI所指定資源的附加新子項,POST被設計成用統一的方法實現下列功能:

對現有資源的解釋;

向電子公告欄、新聞組、郵件列表或類似討論組發信息;

提交數據塊;

通過附加操作來擴展數據庫等。

POST請求報頭信息分析

請求報頭允許客戶端向服務器端傳送請求的附加信息以及客戶端自身的信息。例圖1介紹了一個典型的POST請求報頭,它主要包含以下字段:Accept字段表示瀏覽器支持的MIME(Multipurpose Internet Mail Extensions)類型;Accept-Encoding字段表示瀏覽器有能力解碼的編碼類型;Accept-Language字段表示瀏覽器所支持的語言類型;Connection字段表示客戶端與服務器連接的類型; Content-Type字段表示網絡文件的類型和網頁的編碼格式;Cache-Control字段指定了請求遵循的緩存機制;User-Agent字段表示瀏覽器版本信息;X-Requested-With字段的值為XMLHttpRequest表示請求是Ajax異步請求,值為null表示請求是傳統同步請求;Host字段表示請求的服務器網址;Cookie字段是一些網站為了辨別用戶身份、進行session跟蹤而存儲在用戶本地終端商的數據。

表1 POST請求報頭數據格式

POST文本數據抓取方案設計

抓取POST文本數據的基本流程如圖1。首先,需要讀取字符串url,并根據字符串url建立URL類的實例postURL,此后需要建立postURL連接,這將返回一個HttpURLConnection類的對象connection,此時并沒有創建實際的網絡連接。其次,要給對象connection設置連接屬性,其中,首先要調用setRequestMethod方法將請求方式設置為POST;其次需分調用setDoOutput和setDoInput方法將參數都設置為true,這是因為POST請求的參數是放在http正文內;此后,需要調用setRequestProperty方法,該方法有兩個參數分別是key和value,參數key可參考表1中第一列的數據來設置,參數value的值與表1中第二列的數據類似,針對來自不同的源的POST網頁可依照抓包代理工具中捕獲的POST請求報頭信息來設置key和value的值。設置好連接屬性后,就可以調用connection對象的connect方法來打開到postURL引用的資源的通信鏈接。應該注意的是,設置連接屬性必須在打開連接之前,否則將會發生錯誤。最后,建立字符輸入流對象讀取文本數據并保存到本地,流程結束。

若要批量抓取POST文本數據,需要對圖1中描述的方案的流程進行改進。在給對象connection設置連接屬性這一步驟中,有一個字段為Cookie。Cookie分為非持續Cookie(nonpersistent cookie)和持續Cookie(persistent cookie)。如果沒有給Cookie設置過期時間,則Cookie會在關閉瀏覽窗口時消失,這樣的Cookie被稱為非持續Cookie。非持續Cookie一般被保存在內存里。如果設置了Cookie的過期日期,則它將被一直保存直到過期位置,這樣的Cookie被稱為持續Cookie。 火狐瀏覽器的持續Cookie被保存在數據庫cookies.sqlite中,過期日期由expiry字段記錄。獲取持續Cookie的方法有以下兩種:

連接數據庫cookies.sqlite,選擇表moz_cookies,讀取name、value和expiry字段的值;

建立WebDriver類的對象打開瀏覽器,建立并打開url鏈接后獲取cookie的name、value和expiry字段的值。

第一種方法在數據庫cookies.sqlite中表格的數據沒有加密的情況下可通過Class.forName(org.sqlite. JDBC)連接SQLite的JDBC來實現。第二種方法的原理是在打開瀏覽器并打開url鏈接時保存服務器向客戶端發送的Cookie。顯然,第二種方法比第一種方法更加通用。因此,本課題采用第二種方法來獲取Cookie,流程圖見圖2。

采用圖2中描述的方法可以完整地得到Cookie的name和value,又根據持續Cookie有過期日期的特性,設計出了批量抓取POST文本數據的流程圖,見圖3。當保存好當前抓取到的文本數據后,并在抓取下一個頁面前,需要判斷當前日期是否在Cookie的過期日期之前。若為真,說明此前得到的Cookie仍然有效,可繼續使用;若為假,需要刷新網頁重新抓取Cookie和過期日期。由于在獲取Cookie的過程中打開了firefox瀏覽器,因此抓取完預計的所有頁面后,需要關閉瀏覽器,到此整個流程結束。

圖1 抓取POST文本數據的基本流程圖圖2 獲取持續Cookie流程圖

圖3 批量抓取POST文本數據流程圖

實驗結果

調試好各模塊的程序后,需配置好URL和文本的保存路徑。以中國裁判文書網為例,運行程序,見表2所示的統計結果。

表2 實驗結果

結束語

本文介紹了抓取POST文本數據的詳細步驟,在執行抓取文本程序的過程中,曾出現過返回502 Bad Gateway的HTTP狀態消息的情況。這是由于服務器從上游服務器收到一個無效的響應。此種情況可通過記錄抓取進程的方式解決,在再次執行程序時就不會出現抓取重復文本的錯誤。通過反復的實驗,驗證了此種抓取方式的可行性,并且操作簡單。

10.3969/j.issn.1001- 8972.2016.18.006

猜你喜歡
設置文本方法
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
如何快速走進文本
語文知識(2014年1期)2014-02-28 21:59:13
主站蜘蛛池模板: 在线观看热码亚洲av每日更新| 人妻无码中文字幕一区二区三区| 国产99热| 久久99精品久久久久纯品| 亚洲综合中文字幕国产精品欧美| 成人国产小视频| 奇米影视狠狠精品7777| 亚洲美女AV免费一区| 18禁影院亚洲专区| 国产黑丝一区| 亚洲国产成熟视频在线多多 | 青青草国产在线视频| 自拍偷拍欧美日韩| 久久久久无码精品| 在线免费a视频| 蜜臀AV在线播放| 无码人中文字幕| 中文字幕有乳无码| 亚洲第一成年人网站| 四虎精品国产AV二区| 在线观看无码a∨| 最新国产麻豆aⅴ精品无| 综合成人国产| 久久久久亚洲AV成人人电影软件 | 免费不卡在线观看av| 国产黄色视频综合| 波多野结衣AV无码久久一区| 日本午夜精品一本在线观看| 国产精品网址在线观看你懂的| 国产在线一二三区| 永久成人无码激情视频免费| 五月激情婷婷综合| 亚洲 欧美 日韩综合一区| 性喷潮久久久久久久久| 美女啪啪无遮挡| 国产制服丝袜无码视频| 高清不卡一区二区三区香蕉| 国产一级小视频| 高清久久精品亚洲日韩Av| 91麻豆精品国产91久久久久| 欧美亚洲国产精品久久蜜芽| 激情综合婷婷丁香五月尤物| 欧美成人影院亚洲综合图| 亚洲综合激情另类专区| 亚洲 成人国产| 一级香蕉视频在线观看| 亚洲美女视频一区| 久久久久久尹人网香蕉| 青青操视频免费观看| 久久综合结合久久狠狠狠97色| 91色在线观看| 久热中文字幕在线| 麻豆国产精品一二三在线观看| 亚洲AV无码久久精品色欲| 中国美女**毛片录像在线| Aⅴ无码专区在线观看| 伊人福利视频| 91麻豆国产视频| 日本午夜三级| 久久精品一卡日本电影| 54pao国产成人免费视频 | 国产欧美视频综合二区| 欧美天堂久久| 久久精品国产精品国产一区| 四虎永久在线| 国产日韩精品欧美一区喷| 2019年国产精品自拍不卡| 国产精品专区第1页| 欧美精品亚洲精品日韩专区| jijzzizz老师出水喷水喷出| 国产香蕉国产精品偷在线观看 | 久久久精品国产亚洲AV日韩| 美女啪啪无遮挡| 国产美女主播一级成人毛片| 欧美成人影院亚洲综合图| 老司国产精品视频| 欧美精品1区2区| 国产欧美日韩在线在线不卡视频| 国产精品无码久久久久久| 九九精品在线观看| 狠狠躁天天躁夜夜躁婷婷| 欧美午夜在线播放|