資料探勘敲門磚--Python爬蟲入門
WHAT
資料探勘是一門綜合的技術,隨著Ai的興起,在國內的需求日漸增大。
資料探勘的職業方向通常有三個,順便概要地提一下所需的技能(不僅於此)
- 資料分析方向:需要數理知識支撐,比如概率論,統計學等
- 資料探勘方向:需要懂得主流演算法的原理及應用,資料庫的原理和操作
- 科學研究方向:通常是科學家們在深入研究資料探勘的相關基礎理論和演算法
但是看完簡介,好像和爬蟲沒什麼關係? 接著往下看。
要開始資料探勘之路,可以先從培養資料分析能力開始。 資料分析的常見步驟是:
- 資料準備
- 資料觀察(找規律)
- 資料建模
- 資料探勘(將得到的模型選擇合適的演算法應用到資料上,驗證並得出結論)
WHY
據統計,資料準備佔整個資料分析70%的時間. 我們把資料準備的步驟進行細分:
- 資料獲取: 資料爬蟲, 資料倉庫
- 資料清洗: 去掉無用的資料
- 資料整理: 將資料規格化
- 資料儲存: 先儲存為CSV等檔案, 最後再將資料進行整理和歸檔
註釋: CSV, 全稱Comma-Separated Values,即逗號分割值.
是將資料以逗號分隔開的一種純文字檔案, 實際上逗號可以是用其他符號代替.
(若手機顯示不全,請右滑)
資料倉庫通常是企業級的應用, 對於我們這種初學者獲取的難度較高. 而資料爬蟲的門檻就很低了, 甚至對於沒接觸過程式設計的其他專業的朋友也沒有很高的門檻, 這得益於一門語法簡單的語言-----Python的流行.
這就是為什麼把Python爬蟲稱作敲門磚的原因啦
HOW
現在我們的目標變成兩個, 先會Python, 再會用Python爬蟲
Python入門
選擇一個合適的教程可以讓你少走一些彎路, 在Google上搜索Python教程, 可以收到42萬條結果, 排名靠前的菜鳥教程, 廖雪峰的Python教程, 以及簡明Python教程, 都是適合入門的免費教程
- 菜鳥教程 http://www.runoob.com/python/python-tutorial.html
- 廖雪峰的官方網站 https://www.liaoxuefeng.com/
- 簡明Python教程 https://bop.mol.uno/
感覺沒時間先完全系統地學習? 可以先把下面這些Python知識先掌握, 以後再把其他補上!
- list,dict(列表, 字典):用來序列化你爬的東西
- 切片:用來對爬取的內容進行分割,生成
- 條件判斷(if等):用來解決爬蟲過程中哪些要哪些不要的問題
- 迴圈和迭代(for while ):用來迴圈,重複爬蟲動作
- 檔案讀寫操作:用來讀取引數、儲存爬下來的內容等
瞭解爬蟲
傳送請求——獲得頁面——解析頁面——下載內容——儲存內容, 這是通常爬蟲的五步走. 再簡化一下步驟, 就是 分析目標, 解析頁面, 儲存內容
- 分析目標
我們要分析的目標----網頁, 它裡面的資訊只有兩種呈現方式:
- HTML
- JSON
這些資訊是我們先向伺服器傳送請求, 隨後伺服器返回資訊給我們. 有點像我們平時在餐館吃飯, 你既要POST跟伺服器'點菜', 也要GET等伺服器'上菜'
你可以學習Python的一個基礎庫Request http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 通過它來模擬發出POST和GET請求
相關知識連線:(若手機顯示不全請右滑)
HTML:
http://www.w3school.com.cn/h.asp
JSON:
http://www.runoob.com/json/json-intro.html
GET與POST:
http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html
- 解析頁面
解析頁面有兩把利器: 一個是正則表示式, 另一個是選擇一些庫來幫助我們解析,比如Beautiful Soup
相關知識連線:(若手機顯示不全請右滑)
Beautiful Soup:
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
正則表示式:
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
- 儲存內容 最後我們通過檔案的讀寫把爬取的內容儲存到CSV等檔案,或者資料庫中. 在一開始, 你也可以選擇直接列印到螢幕上,
實踐專案
爬取豆瓣電影Top250 https://zhuanlan.zhihu.com/p/20423182
把專案完成之後, 相信你會對爬蟲有更好的理解.
歡迎大佬指出錯誤, 歡迎技術交流, QQ:994342122
今日作者: 光光同學_
不愛看電影的攝影師不是好的程式設計師