前情回顧html
機器學習100天|Day1數據預處理100天搞定機器學習|Day2簡單線性迴歸分析100天搞定機器學習|Day3多元線性迴歸100天搞定機器學習|Day4-6 邏輯迴歸100天搞定機器學習|Day7 K-NN100天搞定機器學習|Day8 邏輯迴歸的數學原理100天搞定機器學習|Day9-12 支持向量機100天搞定機器學習|Day11 實現KNN100天搞定機器學習|Day13-14 SVM的實現100天搞定機器學習|Day15 樸素貝葉斯100天搞定機器學習|Day16 經過內核技巧實現SVM100天搞定機器學習|Day17-18 神奇的邏輯迴歸100天搞定機器學習|Day19-20 加州理工學院公開課:機器學習與數據挖掘python
Day21,Avik-Jain學習了關於如何使用Beautiful Soup進行網絡爬蟲的教程。瀏覽器
網絡爬蟲,是一種按照必定的規則,自動的抓取萬維網信息的程序或者腳本。通俗來講就是模擬用戶在瀏覽器上的操做,從特定網站,自動提取對本身有價值的信息。主要經過查找域名對應的IP地址、向IP對應的服務器發送請求、服務器響應請求,發回網頁內容、瀏覽器解析網頁內容四個步驟來實現。服務器
Beautiful Soup提供一些簡單的、Python式的函數來處理導航、搜索、修改分析樹等功能。它是一個工具箱,經過解析文檔爲用戶提供須要抓取的數據,由於簡單,因此不須要多少代碼就能夠寫出一個完整的應用程序。網絡
Beautiful Soup自動將輸入文檔轉換爲Unicode編碼,輸出文檔轉換爲UTF-8編碼。你不須要考慮編碼方式,除非文檔沒有指定一個編碼方式,這時你僅僅須要說明一下原始編碼方式就能夠了。框架
Beautiful Soup已成爲和lxml、html6lib同樣出色的Python解釋器,爲用戶靈活地提供不一樣的解析策略或強勁的速度。機器學習
https://www.crummy.com/software/BeautifulSoup/bs4/doc/分佈式
須要聲明的是,爬蟲是個很是複雜的技術,須要完備的知識體系。ide
技術體系:函數
數據採集、數據存儲、動態網頁爬取、APP爬取、驗證碼破解、模擬登錄、代理試用、爬蟲框架、分佈式爬取等等。
目前主流的網絡爬蟲工具是python,涉及的庫和工具:
網頁爬取:urlib、requests、aiohttp、Selenium、Splash
網頁解析:re、lxml、Beautiful Soup、pyquest
數據存儲:JSON、XML、CSV、MySQL、MongoDB、Redis
Web組件:Flask、Tornado
處理反爬:Tesserocr、ADSLProxy、ProxyPool、PookiesPool
APP爬取:Charles、mitmproxy、mitmdump、Appium
爬蟲框架:pyspider、Scrapy、Scrapy-Redis、Scrapy-Splash
管理部署:Docker、Scrapyd、Scrapyd-API、Scrapyd-Client、Gerapy
數據挖掘從業者學習爬蟲更可能是爲數據分析須要,但爬蟲自己也能夠發展爲職業,隨手截兩個高級爬蟲工程師的崗位職責。
個人建議是:若是職業定位非爬蟲工程師,可先沒必要太深刻學習。推薦感興趣且時間富裕的同窗一個免費的爬蟲入門課程: