1. 程式人生 > 其它 >資料探勘敲門磚--Python爬蟲入門

資料探勘敲門磚--Python爬蟲入門

WHAT

資料探勘是一門綜合的技術,隨著Ai的興起,在國內的需求日漸增大。

資料探勘的職業方向通常有三個,順便概要地提一下所需的技能(不僅於此)

  • 資料分析方向:需要數理知識支撐,比如概率論,統計學等
  • 資料探勘方向:需要懂得主流演算法的原理及應用,資料庫的原理和操作
  • 科學研究方向:通常是科學家們在深入研究資料探勘的相關基礎理論和演算法

但是看完簡介,好像和爬蟲沒什麼關係? 接著往下看。

要開始資料探勘之路,可以先從培養資料分析能力開始。 資料分析的常見步驟是:

  1. 資料準備
  2. 資料觀察(找規律)
  3. 資料建模
  4. 資料探勘(將得到的模型選擇合適的演算法應用到資料上,驗證並得出結論)

WHY

據統計,資料準備佔整個資料分析70%的時間. 我們把資料準備的步驟進行細分:

  1. 資料獲取: 資料爬蟲, 資料倉庫
  2. 資料清洗: 去掉無用的資料
  3. 資料整理: 將資料規格化
  4. 資料儲存: 先儲存為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 ):用來迴圈,重複爬蟲動作
  • 檔案讀寫操作:用來讀取引數、儲存爬下來的內容等

瞭解爬蟲

傳送請求——獲得頁面——解析頁面——下載內容——儲存內容, 這是通常爬蟲的五步走. 再簡化一下步驟, 就是 分析目標, 解析頁面, 儲存內容

  • 分析目標

我們要分析的目標----網頁, 它裡面的資訊只有兩種呈現方式:

  1. HTML
  2. 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


今日作者: 光光同學_

不愛看電影的攝影師不是好的程式設計師