宋偉偉
(四川財經職業學院,四川 成都 610101)
大數據技術是當前比較熱門的技術之一,萬物信息化、數字化就會產生大量的數據,而產生的大量數據是錯綜雜亂的,可以通過數據分析、可視化等技術,將有規律有用的信息呈現出來[1]。數據科學與大數據技術是一門比較新穎且跨學科比較多的技術, 因此需要有數學、編程、統計學、計算機等知識。
商業數據分析不僅是向管理者提供各種數據, 還需要更加深入的方法來記錄、分析和提煉數據, 并以易于理解的格式呈現結果。數據本身僅僅是事實和數字,可以通過大數據技術尋找數據規律,結合業務問題找出有用信息,提高生產力。
網絡爬蟲[2]是一種基于B/S架構的數據采集技術,它能夠按照一定的規則自動抓取萬維網信息的程序或者腳本。網絡爬蟲運行流程如圖1所示,由調度器負責URL管理器、網頁下載器、網頁解析器之間的協調工作,價值數據是從網頁中提取出的數據,其通常被保存在文件或者數據庫中。

圖1 網絡爬蟲運行流程
通過網絡爬蟲對于爬取到的數據列表進行存儲,以備下一步數據分析使用。主要用到的數據存儲技術是mysql、sqlserver、csv文 件 存 儲、excel表 格 存 儲、mongoDB等,本文實驗中是將爬取到的數據存儲到mysql數據庫中。
商業數據分析工具主要包括Python、R、Stata、MATLAB、EViews、SAS、SPSS等,本文實驗應用的是Python數據分析工具。
Python是一種面向對象、解釋性的計算機程序設計語言,Python語言簡潔而清晰,具有豐富而強大的類庫,能夠把用其他語言制作的各種模塊很輕松地聯結在一起。在Python中,通過安裝Pandas、Numpy、
Scipy、Statsmodels、Matplotlib、Seaborn、Scikit-Learn、Theano、Tensorf low等一系列的程序包實現上述功能,還需要安裝IPython交互環境。
本文實驗中,通過Numpy實現數值計算, Pandas實現數據分析、分組聚合等操作,Matplotlib 和Seaborn實現數據可視化。
Python提供了非常多樣的繪圖功能,可以通過Python提供的工具Matplotlib繪制二維、三維圖形。Seaborn在Python中用于創建信息豐富和有吸引力的統計圖形庫,它基于Matplotlib,提供多種功能,實現單因素、雙因素、線性回歸、數據矩陣、統計時間序列等的可視化,以便進一步實現更加復雜的可視化過程。
Matplotlib常用的制圖功能有直方圖、散點圖、曲線標繪圖、連線標繪圖、箱圖、餅圖、條形圖、點圖等。
準備好工具后,首先需要從網站上抓取信息并對數據進行初步分析,了解數據的構成并判斷數據的質量。數據初步分析往往是統計性的、多角度的、嘗試性的。根據分析的結果進行深入的挖掘, 得到更有價值的結果。
論文中的目標相對比較明確,最終目標是要根據實時獲取到的Top100排名圖書,可視化顯示前十名熱銷圖書和熱評圖書的數據,以及根據關注的圖書進行圖書推薦、圖書價格和評論預警等功能。
在進行數據采集時,需要根據實際的業務環境采用不同的方式,本文中使用爬蟲對數據進行采集,使用爬蟲獲取京東計算機行業排行榜數據。獲取的數據有:獲取排名前100名的圖書名、出版社、圖書鏈接、圖書ID、價格。
本文采集數據中,創建了Crawl.py文件,創建了的Crawl類定義三個方法:def get_ranking( ):獲取排行前100名的圖書ID;def get_ pr ice( ):根據ID獲取前100名在圖書價格,并存儲圖書名、出版社、京東價格、定價、鏈接、ID列表;def get_evaluation():獲取評價評分內容。
將獲取到的圖書信息存儲到MySQL數據庫表中。新建mysql.py文件,在文件中定義各個應用方法:如連接數據庫、關閉數據庫、數據表的紀錄插入、查詢數據的方法。
首先,單擊File菜單——Settings,打開的對話框中單擊Tools——External Tools打開的界面中添加擴展工具,主要是QT Designer和PyUIC,它們的主要功能是通過Qt Designer進行圖形可視化設計[3],采用pyUIC插件將可視化圖形界面轉換生成相應的Python 文件,生產的Python文件需要移動到項目的根目錄下, 可以在生成的Python文件中進行代碼功能編寫。
采用NumPy、Pandas、Matplotlib模塊進行計算、處理分析、可視化編程。
NumPy是Python處理數組和矢量運算的庫, 是進行高性能計算和數據分析的基礎,NumPy提供了對數組進行快速運算的標準數學函數。Pandas是Python的一個開源庫,為Python提供了高性能、簡單易用的數據結構和數據分析工具。Pandas提供了方便的類似表格統計操作和SQL操作等操作,使得數據處理工作更加便捷。Matplotlib是利用Python進行數據分析的一個重要的可視化工具,繪制多種高質量的2D、3D圖形。
在生成的Python文件中,我們主要完成了10個可視化界面的設計,以及13個Python文件的代碼編寫。完成本項目數據服務功能。
本文中的項目對網絡爬蟲技術、數據庫存儲技術、數據分析技術及可視化技術進行了流程和實踐總結,從數據分析出發,依靠技術工具,以決策優化和一定的數據服務為目的,洞察數據背后的規律,為商業創造更大的數據獲取、分析、可視化等一系列技術思路。