Python爬蟲學習-大資料統計分析(基礎)
編譯環境:python v3.5.0, mac osx 10.11.4
<big>python爬蟲基礎知識: Python爬蟲學習-基礎爬取</big>
<big>python爬蟲進階知識: Python爬蟲學習-爬取大規模資料</big>
若未進行資料爬取可以使用此資料進行練習Github
視覺化第三方庫與網頁編譯器
-
Jupyter Notebook
安裝:終端輸入
pip3 install jupyter
啟動:終端輸入
jupyter notebook -
highchart
安裝:終端輸入
pip3 install charts
檢測:- 終端輸入
jupyter notebook
在jupyter頁面點選new>python3
import charts
然後點選cell>run
- 終端輸入
-
更換檔案
查詢charts所在目錄,在jupyter中開啟一個新的python檔案輸入:
import sys
print(sys.path)
在輸出的路徑中查詢site-packages的路徑:
資料分析流程
-
備份資料,防止處理時對資料造成的意外損壞
mongodump -h dbhost -d dbname -o dbdirectionary
# -h mongodb所在伺服器地址,如本機127.0.0.1
# -d 需要備份的資料庫例項如:gangjiData
# -o 備份資料存放地址如:/Users/fujingxin/Desktop/backData - 對資料進行預處理(以上節爬取的資料為例)
-
去除area中多餘的部分(‘-’),並將None改為地區不明
-
統一發布日期的格式
-
轉換價格格式,方便計算
-
利用聚合管道pipeline對資料進行高效的查詢與篩選
當我們要針對爬取的資料進行統計分析時,不同的問題需要的資料形式不同,pipeline相當一個可以提供給我們一層一層篩選所需資料的管道。 - 利用highchair繪製圖表
-
繪製柱狀圖
-
繪製折線圖
-
繪製餅圖
實戰練習1
問題:某段時間內,北京各個城區發帖數量的 top3 類目
已知:
某個時間段,例:2015.12.25~2015.12.27
北京各個城區,例:朝陽
求解:
發帖數量 top3
分析流程
所需資料結構:
原始:
series = [{'name': 'name','data': [100]},{'name': 'name','data': [100]}, ...]
實際上:
{name:類目,data:發帖量}
目標:
{'_id': ['北京二手家電'], 'counts': 175}
構建聚合管道:
![2027713-9d3d39d39fe3017a.png](https://i.iter01.com/images/1e7feab057fdd75691391e60f628d1307c2748ef9897d8c7a510dc0587f9d81e.png)
![2027713-984fe4a9a16a25dc.png](https://i.iter01.com/images/9ef4b717428be7e2f1b1845315c48447e98e0a5c42543d832d11b6133825e5aa.png)
![2027713-d1bfd1b15eb81863.png](https://i.iter01.com/images/89274df9eaba28bd135b789270a392ffc4ff06cdb5dbdd86d9655146418462b3.png)
實戰練習2
問題:某段時間內各大類目中成色對應的平均價
已知:
某個時間段,例:2015.12.25~2015.12.27
各大類目,例:北京二手手機,北京二手筆記本
單個物品價格,例:某品牌二手電視,價格1000元
求解:
平均價格
分析流程
所需資料結構:
原始:
series = ['data1','data2','data3']
實際上:
[全新對應的價格,9成新對應的價格,8成新對應的價格,7成新對應的價格]
目標:
{'avg_price': 300.0, '_id': '7成新及以下'}
構建聚合管道:
![2027713-5df41d6ee62a1e84.png](https://i.iter01.com/images/da4a55fc78538907eaa887394fb018f8523d95cd21f0f70253ab234c13cebbe9.png)
構建繪圖所需要的資料結構:
![2027713-aa8dd45f8e5a4b9b.png](https://i.iter01.com/images/356841245c2e2634eb60f3dace4f8280ed22766379e57c2fd387a5c1a1a7de79.png)
繪製圖表:
![2027713-bfca9bdaac9586fc.png](https://i.iter01.com/images/5c5f9cf84c7771d39887f3f1581911b3eb17eb46d1d5ff878f9c02bf8260a00a.png)
如何將資料庫匯出為csv
mongoexport -d database -c collection -o output/path.csv
![2027713-34a81091f78e2401.png](https://i.iter01.com/images/eb65aede69431bda84488c7f8b3948a2886a9ffd15f2c7660d328c9312c7e2aa.png)
All source code can be downloaded at GitHub:
https://github.com/jacobkam/WebCrawlerLearning.git
相關文章
- 【0基礎學爬蟲】爬蟲基礎之資料儲存爬蟲
- Python爬蟲之Scrapy學習(基礎篇)Python爬蟲
- python爬蟲利用代理IP分析大資料Python爬蟲大資料
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- Python:基礎&爬蟲Python爬蟲
- Python學習手冊(入門&爬蟲&資料分析&機器學習&深度學習)Python爬蟲機器學習深度學習
- python爬蟲基礎概念Python爬蟲
- python_爬蟲基礎Python爬蟲
- Python爬蟲框架:scrapy爬取高考派大學資料Python爬蟲框架
- 【機器學習】資料準備--python爬蟲機器學習Python爬蟲
- python爬蟲——爬取大學排名資訊Python爬蟲
- 學爬蟲,我需要掌握哪些Python基礎?爬蟲Python
- Python案例學習——模組和包、爬蟲的基礎概念Python爬蟲
- 大資料學習記錄,Python基礎(3)大資料Python
- 大資料學習記錄,Python基礎(4)大資料Python
- 從零基礎開始學習Python爬蟲你需要注意的點以及如何學習爬蟲Python爬蟲
- 【0基礎學爬蟲】爬蟲基礎之檔案儲存爬蟲
- Python爬蟲系統化學習(3)Python爬蟲
- Python爬蟲系統化學習(4)Python爬蟲
- Python零基礎爬蟲教學(實戰案例手把手Python爬蟲教學)Python爬蟲
- 爬蟲入門基礎-Python爬蟲Python
- Python爬蟲基礎之seleniumPython爬蟲
- python爬蟲基礎之urllibPython爬蟲
- 好程式設計師Python培訓分享零基礎Python爬蟲學習線路程式設計師Python爬蟲
- IPIDEA助力Python爬蟲精準分析市場大資料IdeaPython爬蟲大資料
- Python分散式爬蟲(三) - 爬蟲基礎知識Python分散式爬蟲
- Python爬蟲之路-爬蟲基礎知識(理論)Python爬蟲
- Python爬蟲學習筆記(三、儲存資料)Python爬蟲筆記
- 學習爬蟲必須學的基礎知識爬蟲
- python爬蟲學習1Python爬蟲
- Python爬蟲基礎學習,從一個小案例來學習xpath匹配方法Python爬蟲
- python爬蟲是什麼?學習python爬蟲難嗎Python爬蟲
- python網路爬蟲(9)構建基礎爬蟲思路Python爬蟲
- Python資料爬蟲學習筆記(11)爬取千圖網圖片資料Python爬蟲筆記
- 爬蟲基礎爬蟲
- 【0基礎學爬蟲】爬蟲基礎之自動化工具 Pyppeteer 的使用爬蟲
- 【0基礎學爬蟲】爬蟲基礎之自動化工具 Playwright 的使用爬蟲
- 【0基礎學爬蟲】爬蟲基礎之自動化工具 Selenium 的使用爬蟲
- 【0基礎學爬蟲】爬蟲基礎之網路請求庫的使用爬蟲