作者:探碼科技, 原文鏈接: http://nbbskj.com/blog/559
據(jù)賽迪顧問統(tǒng)計(jì),在技術(shù)領(lǐng)域中最近10,000條專利中常見的關(guān)鍵詞中,數(shù)據(jù)采集、存儲(chǔ)介質(zhì)、海量數(shù)據(jù)、分布式成為技術(shù)領(lǐng)域最熱詞匯。其中,數(shù)據(jù)采集是提到最多的詞匯。
數(shù)據(jù)采集是進(jìn)行大數(shù)據(jù)分析的前提也是必要條件,在整個(gè)數(shù)據(jù)利用流程中占據(jù)重要地位。數(shù)據(jù)采集方式分為三種:系統(tǒng)日志采集法、網(wǎng)絡(luò)數(shù)據(jù)采集法以及其他數(shù)據(jù)采集法。隨著Web2.0的發(fā)展,整個(gè)Web系統(tǒng)涵蓋了大量的價(jià)值化數(shù)據(jù),目前針對(duì)Web系統(tǒng)的數(shù)據(jù)采集通常通過網(wǎng)絡(luò)爬蟲來實(shí)現(xiàn),本文將對(duì)網(wǎng)絡(luò)大數(shù)據(jù)和網(wǎng)絡(luò)爬蟲進(jìn)行系統(tǒng)描述。
網(wǎng)絡(luò)大數(shù)據(jù),是指非傳統(tǒng)數(shù)據(jù)源,例如通過抓取搜索引擎獲得的不同形式的數(shù)據(jù)。網(wǎng)絡(luò)大數(shù)據(jù)也可以是從數(shù)據(jù)聚合商或搜索引擎網(wǎng)站購買的數(shù)據(jù),用于改善目標(biāo)營(yíng)銷。這種類型的數(shù)據(jù)可以是結(jié)構(gòu)化的,也可以是非結(jié)構(gòu)化的(更有可能的),可以由網(wǎng)絡(luò)鏈接,文本數(shù)據(jù),數(shù)據(jù)表,圖像,視頻等組成。
網(wǎng)絡(luò)構(gòu)成了當(dāng)今提供給我們的大部分?jǐn)?shù)據(jù),根據(jù)許多研究可知,非結(jié)構(gòu)化數(shù)據(jù)占據(jù)了其中的80%。盡管這些形式的數(shù)據(jù)較早被忽略了,但是競(jìng)爭(zhēng)加劇以及需要更多數(shù)據(jù)的需求使得必須使用盡可能多的數(shù)據(jù)源。
互聯(lián)網(wǎng)擁有數(shù)十億頁的數(shù)據(jù),網(wǎng)絡(luò)大數(shù)據(jù)作為潛在的數(shù)據(jù)來源,對(duì)于行業(yè)的戰(zhàn)略性業(yè)務(wù)發(fā)展來說擁有巨大的利用潛力。
以下舉例說明網(wǎng)絡(luò)大數(shù)據(jù)在不同行業(yè)的利用價(jià)值:
除此之外,在《How Web Scraping is Transforming the World with its Applications》文章中詳細(xì)得羅列出網(wǎng)絡(luò)大數(shù)據(jù)在制造業(yè)、金融研究、風(fēng)險(xiǎn)管理等眾多領(lǐng)域的利用價(jià)值。
目前網(wǎng)絡(luò)數(shù)據(jù)采集有兩種方法:一種是API,另一種是網(wǎng)絡(luò)爬蟲法。API又叫應(yīng)用程序接口,是網(wǎng)站的管理者為了使用者方便,編寫的一種程序接口。目前主流的社交媒體平臺(tái)如新浪微博、百度貼吧以及Facebook等均提供API服務(wù),可以在其官網(wǎng)開放平臺(tái)上獲取相關(guān)DEMO。但是API技術(shù)畢竟受限于平臺(tái)開發(fā)者,為了減小網(wǎng)站(平臺(tái))的負(fù)荷,一般平臺(tái)均會(huì)對(duì)每天接口調(diào)用上限做限制,這給我們帶來極大的不便利。為此我們通常采用第二種方式——網(wǎng)絡(luò)爬蟲。
網(wǎng)絡(luò)爬蟲是指按照一定的規(guī)則自動(dòng)地抓取萬維網(wǎng)信息的程序或者腳本。該方法可以將非結(jié)構(gòu)化數(shù)據(jù)從網(wǎng)頁中抽取出來,將其存儲(chǔ)為統(tǒng)一的本地?cái)?shù)據(jù)文件,并以結(jié)構(gòu)化的方式存儲(chǔ)。它支持圖片、音頻、視頻等文件或附件的采集,附件與正文可以自動(dòng)關(guān)聯(lián)。
在互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)爬蟲主要是為搜索引擎提供最全面和最新的數(shù)據(jù)。在大數(shù)據(jù)時(shí)代,網(wǎng)絡(luò)爬蟲更是從互聯(lián)網(wǎng)上采集數(shù)據(jù)的有利工具。
網(wǎng)絡(luò)爬蟲是一種按照一定的規(guī)則,自動(dòng)地抓取網(wǎng)絡(luò)信息的程序或者腳本。網(wǎng)絡(luò)爬蟲可以自動(dòng)采集所有其能夠訪問到的頁面內(nèi)容,為搜索引擎和大數(shù)據(jù)分析提供數(shù)據(jù)來源。從功能上來講,爬蟲一般有網(wǎng)絡(luò)數(shù)據(jù)采集、處理和存儲(chǔ) 3 部分功能,如圖所示:
網(wǎng)絡(luò)爬蟲通過定義采集字段對(duì)網(wǎng)頁中的文本信息、圖片信息等進(jìn)行爬取。并且在網(wǎng)頁中還包含一些超鏈接信息,網(wǎng)絡(luò)爬蟲系統(tǒng)正是通過網(wǎng)頁中的超鏈接信息不斷獲得網(wǎng)絡(luò)上的其他網(wǎng)頁。網(wǎng)絡(luò)爬蟲從一個(gè)或若干初始網(wǎng)頁的 URL 開始,獲得初始網(wǎng)頁上的 URL,爬蟲將網(wǎng)頁中所需要提取的資源進(jìn)行提取并保存,同時(shí)提取出網(wǎng)站中存在的其他網(wǎng)站鏈接,經(jīng)過發(fā)送請(qǐng)求,接收網(wǎng)站響應(yīng)以及再次解析頁面,再將網(wǎng)頁中所需資源進(jìn)行提取......以此類推,通過網(wǎng)頁爬蟲便可將搜索引擎上的相關(guān)數(shù)據(jù)完全爬取出來。
數(shù)據(jù)處理是對(duì)數(shù)據(jù)(包括數(shù)值的和非數(shù)值的)進(jìn)行分析和加工的技術(shù)過程。網(wǎng)絡(luò)爬蟲爬取的初始數(shù)據(jù)是需要“清洗”的,在數(shù)據(jù)處理步驟,對(duì)各種原始數(shù)據(jù)的分析、整理、計(jì)算、編輯等的加工和處理,從大量的、可能是雜亂無章的、難以理解的數(shù)據(jù)中抽取并推導(dǎo)出有價(jià)值、有意義的數(shù)據(jù)。
所謂的數(shù)據(jù)中心也就是數(shù)據(jù)儲(chǔ)存,是指在獲得所需的數(shù)據(jù)并將其分解為有用的組件之后,通過可擴(kuò)展的方法來將所有提取和解析的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫或集群中,然后創(chuàng)建一個(gè)允許用戶可及時(shí)查找相關(guān)數(shù)據(jù)集或提取的功能。
如下圖所示,網(wǎng)絡(luò)爬蟲的基本工作流程如下。首先選取一部分種子 URL。
當(dāng)前,網(wǎng)絡(luò)大數(shù)據(jù)在規(guī)模與復(fù)雜度上的快速增長(zhǎng)對(duì)現(xiàn)有IT架構(gòu)的處理和計(jì)算能力提出了挑戰(zhàn),據(jù)IDC發(fā)布的研究報(bào)告,預(yù)計(jì)到2020年,網(wǎng)絡(luò)大數(shù)據(jù)總量將達(dá)到35ZB,網(wǎng)絡(luò)大數(shù)據(jù)將成為行業(yè)數(shù)字化、信息化的重要推手。