1、項目簡介html
1.1 項目博客地址python
http://www.javashuo.com/article/p-wsnnvtee-e.html正則表達式
1.2 項目完成的功能與特點json
經過豆瓣電影網站分析network查找js的數據,並爬取數據生成CSV文件,對錶中的數據進行分析,而後繪製相應的餅圖,柱狀圖,散點圖。瀏覽器
使用python中的第三方庫requests,pandas,pyecharts,snapshot_phantomjs網絡
Echarts是一個由百度開源的數據可視化,憑藉着良好的交互性,精巧的圖表設計,獲得了衆多開發者的承認。而 Python 是一門富有表達力的語言,很適合用於數據處理。當數據分析趕上數據可視化時,pyecharts誕生了。架構
(1)爬取豆瓣電影熱門分類的評分,名稱,評論數,類型,地區,時長echarts
(2)生成CSV文件ide
(3)對電影類型進行分析,而後得到數據進行分析,並繪製柱狀圖學習
(4)對電影地區進行分析,而後得到數據進行分析,並繪製餅圖
(5)對電影評分進行分析,而後得到數據進行分析,並繪製散點圖
1.3 項目採用的技術棧
python requests pyecharts
利用requests獲取豆瓣電影的js文件並轉換成json,而後提取評分、名稱、評論數、類型、地區、時長這些數據利用pyecharts裏面的Echarts生成餅圖,柱狀圖,散點圖。
2、 項目的需求分析
隨着互聯網的發展壯大,網絡數據愈來愈多,如何高效抓取信息成爲難題。網絡爬蟲具備自動提取網頁信息的能力。根據網站的特色,提出了一種基於Python中requests模塊及Py Query模塊進行數據採集的爬蟲程序設計,可採集豆瓣網大量信息。本設計具備針對性強,操做容易、簡單,採集數據準確,採集量大等優勢。
項目功能圖:
3、項目功能架構圖、主要功能流程圖
項目功能架構圖:
主要功能流程圖:
4、系統模塊說明
4.1 系統模塊列表
4.2 各模塊詳細描述(名稱,功能,運行截圖,關鍵源代碼)
1.名稱:爬蟲
功能:爬取豆瓣電影熱門分類的評分,名稱,評論數,類型,地區,時長
關鍵源代碼:
(1)設置一些headers信息,模擬成瀏覽器訪問網站
(2)返回URL
(3)返回響應文本
(4)把js數據轉換成json格式的字符串並數據提取數據
(5)經過正則表達式提取,解析評論數,類型,地區,時長的數據
(6)把數據存入到csv文件
(7)控制爬蟲,遍歷獲取的每一條數據,存進csv文件
(8)讀取CSV文件,沒有CSV文件的話就報錯
運行截圖:
2. 名稱:可視化數據分析
功能:
對電影類型進行分析,而後得到數據進行分析,並繪製柱狀圖
對電影地區進行分析,而後得到數據進行分析,並繪製餅圖
對電影評分進行分析,而後得到數據進行分析,並繪製散點圖
關鍵源代碼:
pycharts是python中調用百度基於js開發的echarts接口,也能夠對數據進行各類可視化操做。調用接口畫出了餅圖,柱狀圖和散點圖。
(1)經過傳入data這個數據,使用pycharts把數據生成電影地區餅圖,並渲染到pie.html
(2)經過傳入data這個數據,使用pycharts把數據生成電影類型柱狀圖,並渲染到bar.html
(3)經過傳入data和titles這兩個數據,使用pycharts把數據生成電影評分散點圖,並渲染到scatter.html
運行截圖:
5、項目總結
5.1 特色
該項目爬取的數據生成CSV文件,對錶中的數據進行分析。繪製成的餅圖能夠看出各個地區生產數的多少;繪製成的柱狀圖能夠看出各個電影類型數量的多少;繪製成的散點圖能夠看出電影評分的高低,在網頁上移動到某一散點,能夠看到該散點對應的電影名稱。
5.2 不足之處
在作這個項目時仍是有點艱難的,顯然本身平時學習的還不夠多。有的內容通過查閱資料後還作得不是很好。像散點圖因爲數據太多沒辦法顯示完整的名稱就只能把名稱隱藏了。