文章來源:網絡大數據
據賽迪顧問統計,在技術領域中最近10,000條專利中常見的關鍵詞中,數據采集、存儲介質、海量數據、分布式成為技術領域最熱詞匯。其中,數據采集是提到最多的詞匯。

數據采集是進行大數據分析的前提也是必要條件,在整個數據利用流程中占據重要地位。數據采集方式分為三種:系統日志采集法、網絡數據采集法以及其他數據采集法。隨着Web2.0的發展,整個Web系統涵蓋了大量的價值化數據,目前針對Web系統的數據采集通常通過網絡爬蟲來實現,本文將對網絡大數據和網絡爬蟲進行系統描述。
什么是網絡大數據
網絡大數據,是指非傳統數據源,例如通過抓取搜索引擎獲得的不同形式的數據。網絡大數據也可以是從數據聚合商或搜索引擎網站購買的數據,用於改善目標營銷。這種類型的數據可以是結構化的,也可以是非結構化的(更有可能的),可以由網絡鏈接,文本數據,數據表,圖像,視頻等組成。
網絡構成了當今提供給我們的大部分數據,根據許多研究可知,非結構化數據占據了其中的80%。盡管這些形式的數據較早被忽略了,但是競爭加劇以及需要更多數據的需求使得必須使用盡可能多的數據源。
網絡大數據可以用來干什么
互聯網擁有數十億頁的數據,網絡大數據作為潛在的數據來源,對於行業的戰略性業務發展來說擁有巨大的利用潛力。
以下舉例說明網絡大數據在不同行業的利用價值:

除此之外,在《How Web Scraping is Transforming the World with its Applications》文章中詳細得羅列出網絡大數據在制造業、金融研究、風險管理等眾多領域的利用價值。
如何收集網絡數據
目前網絡數據采集有兩種方法:一種是API,另一種是網絡爬蟲法。API又叫應用程序接口,是網站的管理者為了使用者方便,編寫的一種程序接口。目前主流的社交媒體平台如新浪微博、百度貼吧以及Facebook等均提供API服務,可以在其官網開放平台上獲取相關DEMO。但是API技術畢竟受限於平台開發者,為了減小網站(平台)的負荷,一般平台均會對每天接口調用上限做限制,這給我們帶來極大的不便利。為此我們通常采用第二種方式——網絡爬蟲。
利用爬蟲技術采集網絡大數據
網絡爬蟲是指按照一定的規則自動地抓取萬維網信息的程序或者腳本。該方法可以將非結構化數據從網頁中抽取出來,將其存儲為統一的本地數據文件,並以結構化的方式存儲。它支持圖片、音頻、視頻等文件或附件的采集,附件與正文可以自動關聯。
在互聯網時代,網絡爬蟲主要是為搜索引擎提供最全面和最新的數據。在大數據時代,網絡爬蟲更是從互聯網上采集數據的有利工具。
網絡爬蟲原理
網絡爬蟲是一種按照一定的規則,自動地抓取網絡信息的程序或者腳本。網絡爬蟲可以自動采集所有其能夠訪問到的頁面內容,為搜索引擎和大數據分析提供數據來源。從功能上來講,爬蟲一般有網絡數據采集、處理和存儲 3 部分功能,如圖所示:

網絡爬蟲采集
網絡爬蟲通過定義采集字段對網頁中的文本信息、圖片信息等進行爬取。並且在網頁中還包含一些超鏈接信息,網絡爬蟲系統正是通過網頁中的超鏈接信息不斷獲得網絡上的其他網頁。網絡爬蟲從一個或若干初始網頁的 URL 開始,獲得初始網頁上的 URL,爬蟲將網頁中所需要提取的資源進行提取並保存,同時提取出網站中存在的其他網站鏈接,經過發送請求,接收網站響應以及再次解析頁面,再將網頁中所需資源進行提取......以此類推,通過網頁爬蟲便可將搜索引擎上的相關數據完全爬取出來。
數據處理
數據處理是對數據(包括數值的和非數值的)進行分析和加工的技術過程。網絡爬蟲爬取的初始數據是需要“清洗”的,在數據處理步驟,對各種原始數據的分析、整理、計算、編輯等的加工和處理,從大量的、可能是雜亂無章的、難以理解的數據中抽取並推導出有價值、有意義的數據。
數據中心
所謂的數據中心也就是數據儲存,是指在獲得所需的數據並將其分解為有用的組件之后,通過可擴展的方法來將所有提取和解析的數據存儲在數據庫或集群中,然后創建一個允許用戶可及時查找相關數據集或提取的功能。
網絡爬蟲工作流程
如下圖所示,網絡爬蟲的基本工作流程如下。首先選取一部分種子 URL。
- 將這些 URL 放入待抓取 URL 隊列。
- 從待抓取 URL 隊列中取出待抓取 URL,解析 DNS,得到主機的 IP 地址,並將 URL 對應的網頁下載下來,存儲到已下載網頁庫中。此外,將這些 URL 放進已抓取 URL 隊列。
- 分析已抓取 URL 隊列中的 URL,分析其中的其他 URL,並且將這些 URL 放入待抓取 URL 隊列,從而進入下一個循環。

總結
當前,網絡大數據在規模與復雜度上的快速增長對現有IT架構的處理和計算能力提出了挑戰,據IDC發布的研究報告,預計到2020年,網絡大數據總量將達到35ZB,網絡大數據將成為行業數字化、信息化的重要推手。
