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

基于JAVA的京東商品分布式爬蟲系統(tǒng)的設計與實現(xiàn)

2018-02-26 09:45:22曹根源董斌智
電子技術與軟件工程 2018年16期
關鍵詞:數(shù)據(jù)分析

曹根源 董斌智

摘要

數(shù)據(jù)科學正在改變著人們的生活從百度搜索推薦到今天網(wǎng)上的推薦資訊。對數(shù)據(jù)科學的構建,數(shù)據(jù)來源則是千里行之始。本文介紹用JAVA結合分布式技術實現(xiàn)的一個高效爬蟲系統(tǒng),希望能為數(shù)據(jù)研究者壘好數(shù)據(jù)高樓的基石。

【關鍵詞】數(shù)據(jù)分析 爬蟲 分布式

1 引言

京東是一家電商平臺,本文通過爬蟲技術獲取相關商品信息。JAVA是一門具備數(shù)據(jù)處理能力和并發(fā)多線程機制的成熟語言。本文通過爬蟲系統(tǒng)獲取商品信息,將數(shù)據(jù)保存到本地數(shù)據(jù)庫,最后進行數(shù)據(jù)分析。本系統(tǒng)可快速獲取商品信息,使用戶快速尋找心儀商品。分布式的技術也可供企業(yè)進行大規(guī)模數(shù)據(jù)爬取使用。

2 分布式爬蟲系統(tǒng)設計

2.1 設計需求

主要解決問題:

2.1.1 數(shù)據(jù)獲取和異常處理

通過URL爬取商品ID;分析頁面源碼,提取所需信息;建立數(shù)據(jù)字典并將數(shù)據(jù)存入數(shù)據(jù)庫。當某ID沒有爬取到時使用查錯機制。

2.1.2 分布式通信和多線程技術

前者用Socket實現(xiàn);后者使用Java線程池。

2.1.3 可復用技術和內存優(yōu)化

前者用心跳檢查機制,釋放失效主機;后者采用數(shù)據(jù)庫去重。

2.1.4 負載均衡

檢測每臺主機的性能,分發(fā)合適的任務。

2.1.5 反爬應對和數(shù)據(jù)庫優(yōu)化

前者使用cookies替換、IP代理等手段。后者采用水平劃分將ID獨立成表,為數(shù)據(jù)庫添加索引等。

2.2 相關JAVA模塊

2.2.1 網(wǎng)址管理

實現(xiàn)網(wǎng)址管理的方法有以下2類;

(1)JAVA內存:分析網(wǎng)站結構,減少重復URL的爬取。采用排隊機制,減少內存開銷。

(2)數(shù)據(jù)庫存儲和URL去重:前者采用數(shù)據(jù)庫去重。后者使用HashSet等進行去重。

2.2.2 分布式通信

分布式通信是爬蟲的主要模塊。

(1)Socket:采用JAVA的Socket包,讓客戶機在同一局域網(wǎng)內基于TCP進行通信。

(2)負載均衡:每次通信時檢測客戶機狀態(tài),根據(jù)LoadBalance算法計算出分配任務月巨。

(3)連接池和線程池:前者使用HttpClient連接池;后者用線程池管理線程,重用已完成任務的線程資源。

2.2.3 網(wǎng)頁信息解析

(1)手動解析:使用正則進行字符串提取。

(2)自動解析:XPath、BeautifulSoup。

2.2.4 反爬解決

查看網(wǎng)站是否需要驗證碼登錄,在爬取過程中檢測是否出現(xiàn)超時爬取等問題,制定相應解決反爬方案。

2.2.5 數(shù)據(jù)導出

將數(shù)據(jù)存儲于MySQL數(shù)據(jù)庫,在BDP平臺上進行數(shù)據(jù)分析。

3 實驗設計

通過對京東商品分類頁面進行抓取。代碼由1個主函數(shù)和4個功能函數(shù)構成。

3.1 總商品數(shù)據(jù)URL請求函數(shù)(requestUrl)

分析網(wǎng)站結構,用requestUrl函數(shù)請求商品數(shù)據(jù)頁面并將其存入Hash隊列進行去重處理。

3.2 負載均衡函數(shù)(LoadingBalance)

由客戶機向任務分發(fā)服務器提出請求,負載均衡函數(shù)檢測客戶機性能,并將結果反饋給分發(fā)任務服務器,分發(fā)任務服務器根據(jù)反饋信息將任務合理分配給請求任務的客戶機。

3.3 分析函數(shù)(Analying)和插入數(shù)據(jù)庫函數(shù)(InsertSQL)

客戶機獲取任務后根據(jù)商品網(wǎng)頁結構用分析函數(shù)(Analying)創(chuàng)建線程池和連接池向目標URL獲取數(shù)據(jù)后,通過插入數(shù)據(jù)庫函數(shù)(LnsertSQL)將數(shù)據(jù)插入數(shù)據(jù)庫。

3.4 主函數(shù)

設置任務服務器和客戶機的端口號以及IP地址,先啟動任務服務器,再啟動客戶機。

4 實驗結果

實驗中,共使用了分發(fā)任務服務器(PC機)一臺,客戶機(PC機)3臺,1小時內爬取商品數(shù)據(jù)80余萬條。運行結果如圖1所示。

5 結語

文章分析了分布式爬蟲獲取商品數(shù)據(jù)的細節(jié)實現(xiàn),對京東商城實現(xiàn)了高效爬取。同時介紹了解決反爬策略的基本思路。分布式技術的運用,使得爬蟲系統(tǒng)性能得到飛速提升。總的來說,分布式爬蟲具有較高的應用價值,對后期的數(shù)據(jù)分析具有重要意義。

參考文獻

[1]王桂梅.主題網(wǎng)絡爬蟲關鍵技術研究[D].哈爾濱工業(yè)大學,2009.

猜你喜歡
數(shù)據(jù)分析
電子物證檢驗的數(shù)據(jù)分析與信息應用研究
基于matlab曲線擬合的數(shù)據(jù)預測分析
商情(2016年40期)2016-11-28 11:28:07
分眾媒體趨勢下場景營銷的商業(yè)前景
商(2016年32期)2016-11-24 17:39:41
佛山某給水管線控制測量探討
科技資訊(2016年18期)2016-11-15 18:05:53
SPSS在環(huán)境地球化學中的應用
考試周刊(2016年84期)2016-11-11 23:57:34
大數(shù)據(jù)時代高校數(shù)據(jù)管理的思考
科技視界(2016年18期)2016-11-03 22:51:40
我校如何利用體育大課間活動解決男生引體向上這個薄弱環(huán)節(jié)
體育時空(2016年8期)2016-10-25 18:02:39
Excel電子表格在財務日常工作中的應用
淺析大數(shù)據(jù)時代背景下的市場營銷策略
新常態(tài)下集團公司內部審計工作研究
中國市場(2016年36期)2016-10-19 04:31:23
主站蜘蛛池模板: 最新国产午夜精品视频成人| 无码乱人伦一区二区亚洲一| 91色爱欧美精品www| 欧美第九页| 国产成人精品在线1区| 日韩小视频网站hq| 国产激情影院| 欧美成人午夜视频| 91原创视频在线| 亚洲AV无码乱码在线观看裸奔| 久久久久亚洲Av片无码观看| 超碰色了色| 成人免费一级片| 国产高清国内精品福利| 亚洲精品第一在线观看视频| 国产在线自揄拍揄视频网站| 中文成人无码国产亚洲| 久久99精品久久久大学生| 国产青榴视频| 91精品啪在线观看国产60岁| 青青草综合网| 亚洲欧洲日产国产无码AV| 美女无遮挡被啪啪到高潮免费| 人妻精品全国免费视频| 国产国产人免费视频成18| 免费av一区二区三区在线| 亚洲熟妇AV日韩熟妇在线| 波多野结衣爽到高潮漏水大喷| 无码免费的亚洲视频| 国产熟女一级毛片| 亚洲制服丝袜第一页| 免费看一级毛片波多结衣| 欧美国产视频| 亚洲香蕉在线| 91无码人妻精品一区二区蜜桃| 国产日韩精品欧美一区灰| 97国产在线视频| 国产午夜在线观看视频| 国产一区二区三区在线观看免费| 国产又粗又爽视频| 99视频国产精品| 国产精品视频3p| www亚洲精品| 高清色本在线www| 四虎永久在线视频| 制服丝袜一区二区三区在线| 国产精品成人免费综合| 久久综合结合久久狠狠狠97色| 三上悠亚一区二区| 久久精品亚洲热综合一区二区| 欧美一级在线看| 亚洲伊人久久精品影院| 在线观看视频一区二区| 中文字幕 日韩 欧美| 婷婷色一区二区三区| 又大又硬又爽免费视频| 毛片基地美国正在播放亚洲| 国产美女精品人人做人人爽| 亚洲第一成人在线| 国产青榴视频| 亚洲欧美一区二区三区蜜芽| 亚洲日本一本dvd高清| 人妻少妇久久久久久97人妻| 亚洲A∨无码精品午夜在线观看| 国产av一码二码三码无码| a天堂视频在线| 亚洲一级毛片在线播放| 精品91在线| 尤物特级无码毛片免费| 一级高清毛片免费a级高清毛片| 日韩乱码免费一区二区三区| 亚洲欧洲日产国码无码av喷潮| 国产女人在线| 欧美一级专区免费大片| 9啪在线视频| 久久精品无码专区免费| 97色婷婷成人综合在线观看| 日本一区二区三区精品国产| 国产精鲁鲁网在线视频| 国产美女无遮挡免费视频| 成人在线亚洲| 久久精品亚洲热综合一区二区|