Python爬蟲該怎麼學習?學習步驟是什麼?
Python爬蟲該怎麼學習?學習步驟是什麼?自學了兩個月的Python,會用爬蟲爬取一些簡單的網頁,但是學著學著就感覺很迷茫,接下來到底應該學什麼?而且不同的書學習步驟也不一樣,哪位大神可以來指點一下迷津???
不要學。
沒有用。
小網站爬了沒用。
大網站你爬不了。
不信你去爬淘寶的價格。
你要的是數據不是爬蟲,免費數據網上一大把,足夠你做數據分析。
經過一段時間的學習,我把我的爬蟲經驗寫成了一本書,名字叫《Python3網路爬蟲開發實戰》
本書通過多個實戰案例詳細介紹了 Python3 網路爬蟲的知識,本書由圖靈教育-人民郵電出版社出版發行。
- 1-開發環境配置
- 1.1-Python3的安裝
- 1.2-請求庫的安裝
- 1.2.1-Requests的安裝
- 1.2.2-Selenium的安裝
- 1.2.3-ChromeDriver的安裝
- 1.2.4-GeckoDriver的安裝
- 1.2.5-PhantomJS的安裝
- 1.2.6-aiohttp的安裝
- 1.3-解析庫的安裝
- 1.3.1-lxml的安裝
- 1.3.2-Beautiful Soup的安裝
- 1.3.3-pyquery的安裝
- 1.3.4-tesserocr的安裝
- 1.4-資料庫的安裝
- 1.4.1-MySQL的安裝
- 1.4.2-MongoDB安裝
- 1.4.3-Redis的安裝
- 1.5-存儲庫的安裝
- 1.5.1-PyMySQL的安裝
- 1.5.2-PyMongo的安裝
- 1.5.3-redis-py的安裝
- 1.5.4-RedisDump的安裝
- 1.6-Web庫的安裝
- 1.6.1-Flask的安裝
- 1.6.2-Tornado的安裝
- 1.7-App爬取相關庫的安裝
- 1.7.1-Charles的安裝
- 1.7.2-mitmproxy的安裝
- 1.7.3-Appium的安裝
- 1.8-爬蟲框架的安裝
- 1.8.1-pyspider的安裝
- 1.8.2-Scrapy的安裝
- 1.8.3-Scrapy-Splash的安裝
- 1.8.4-Scrapy-Redis的安裝
- 1.9-部署相關庫的安裝
- 1.9.1-Docker的安裝
- 1.9.2-Scrapyd的安裝
- 1.9.3-Scrapyd-Client的安裝
- 1.9.4-Scrapyd API的安裝
- 1.9.5-Scrapyrt的安裝
- 1.9.6-Gerapy的安裝
- 2-爬蟲基礎
- 2.1-HTTP基本原理
- 2.2-網頁基礎
- 2.3-爬蟲的基本原理
- 2.4-會話和Cookies
- 2.5-代理的基本原理
- 3-基本庫的使用
- 3.1-使用urllib
- 3.1.1-發送請求
- 3.1.2-處理異常
- 3.1.3-解析鏈接
- 3.1.4-分析Robots協議
- 3.2-使用requests
- 3.2.1-基本用法
- 3.2.2-高級用法
- 3.3-正則表達式
- 3.4-抓取貓眼電影排行
- 4-解析庫的使用
- 4.1-使用XPath
- 4.2-使用Beautiful Soup
- 4.3-使用pyquery
- 5-數據存儲
- 5.1-文件存儲
- 5.1.1-TXT文本存儲
- 5.1.2-JSON文件存儲
- 5.1.3-CSV文件存儲
- 5.2-關係型資料庫存儲
- 5.2.1-MySQL存儲
- 5.3-非關係型資料庫存儲
- 5.3.1-MongoDB存儲
- 5.3.2-Redis存儲
- 6-Ajax數據爬取
- 6.1-什麼是Ajax
- 6.2-Ajax分析方法
- 6.3-Ajax結果提取
- 6.4-分析Ajax爬取今日頭條街拍美圖
- 7-動態渲染頁面爬取
- 7.1-Selenium的使用
- 7.2-Splash的使用
- 7.3-Splash負載均衡配置
- 7.4-使用Selenium爬取淘寶商品
- 8-驗證碼的識別
- 8.1-圖形驗證碼的識別
- 8.2-極驗滑動驗證碼的識別
- 8.3-點觸驗證碼的識別
- 8.4-微博宮格驗證碼的識別
- 9-代理的使用
- 9.1-代理的設置
- 9.2-代理池的維護
- 9.3-付費代理的使用
- 9.4-ADSL撥號代理
- 9.5-使用代理爬取微信公眾號文章
- 10-模擬登錄
- 10.1-模擬登錄並爬取GitHub
- 10.2-Cookies池的搭建
- 11-App的爬取
- 11.1-Charles的使用
- 11.2-mitmproxy的使用
- 11.3-mitmdump爬取「得到」App電子書信息
- 11.4-Appium的基本使用
- 11.5-Appium爬取微信朋友圈
- 11.6-Appium+mitmdump爬取京東商品
- 12-pyspider框架的使用
- 12.1-pyspider框架介紹
- 12.2-pyspider的基本使用
- 12.3-pyspider用法詳解
- 13-Scrapy框架的使用
- 13.1-Scrapy框架介紹
- 13.2-Scrapy入門
- 13.3-Selector的用法
- 13.4-Spider的用法
- 13.5-Downloader Middleware的用法
- 13.6-Spider Middleware的用法
- 13.7-Item Pipeline的用法
- 13.8-Scrapy對接Selenium
- 13.9-Scrapy對接Splash
- 13.10-Scrapy通用爬蟲
- 13.11-Scrapyrt的使用
- 13.12-Scrapy對接Docker
- 13.13-Scrapy爬取新浪微博
- 14-分散式爬蟲
- 14.1-分散式爬蟲原理
- 14.2-Scrapy-Redis源碼解析
- 14.3-Scrapy分散式實現
- 14.4-Bloom Filter的對接
- 15-分散式爬蟲的部署
- 15.1-Scrapyd分散式部署
- 15.2-Scrapyd-Client的使用
- 15.3-Scrapyd對接Docker
- 15.4-Scrapyd批量部署
- 15.5-Gerapy分散式管理
2018年3月預售,敬請期待,全書預覽圖:
本資源首發於崔慶才的個人博客靜覓:
Python3網路爬蟲開發實戰教程 | 靜覓?cuiqingcai.com如想了解更多爬蟲資訊,請關注我的個人微信公眾號:進擊的Coder
謝邀。
個人愚見:
- 理解HTTP協議(搞定對網頁的訪問請求)
- 理解HTML、JSON、XML(搞定網頁解析)
- 理解JavaScript渲染(搞定一些煩人的JS反爬手段)
- 理解代理伺服器(搞定IP被封)
- 理解資料庫(搞定數據存儲)
- 理解以及其他的……(圖片驗證碼、數據加密等等)
之前寫了一個系列的爬蟲文章,有興趣可以看看:
(Python爬蟲實戰入門一:工具準備 - 州的先生zmister.com)
(Python爬蟲實戰入門二:從一個簡單的HTTP請求開始 - 州的先生zmister.com)
(Python爬蟲實戰入門三:簡單的HTML解析--爬取騰訊新聞 - 州的先生zmister.com)
(Python爬蟲實戰入門四:使用Cookie模擬登錄--獲取電子書下載鏈接 - 州的先生zmister.com)
(Python爬蟲實戰入門五:獲取JS動態內容-爬取今日頭條 - 州的先生zmister.com)
(Python爬蟲實戰入門六:提高爬蟲效率-並發爬取智聯招聘 - 州的先生zmister.com)
(Python爬蟲入門實戰七:使用Selenium--以抓取QQ空間好友說說為例 - 州的先生zmister.com)
(Python爬蟲入門實戰八:數據儲存--MongoDB與MySQL - 州的先生zmister.com)
謝邀。可恥的匿了。
題主看上去還沒有工作,單純從找工作的層面給題主指點方向。惶恐。
目前市面上爬蟲有兩種:
1) 大規模爬的,類似搜索引擎;(我認為這種是真正的的爬蟲)
2)網貸公司查詢別人的授信信息的,主要是業務(比較累)
就業來說,第二種要求多一些。我一直在干這個。
找工作的話,可以從第二種入手。
熟悉http協議。用fidder抓包。
熟悉一下requests,selenium,登陸自己的社保、網銀、手機運營商、京東、淘寶,抓取自己的交易記錄就可以找一個初級的工作了。一般這種工作都是堆人力,比較好找的。投p2p網貸公司。可能起薪會被壓得低一些。
這種工作干到高級,需要摸索一下python的熱載入(和被人改版作鬥爭,在此鄙視用java語言寫template的),資料庫(推薦mongodb),消息隊列,zookeeper。 估計天花板15k吧。在深圳。
另外一種我沒有干過工業級的。不多言。
PS: 爬蟲是個體力活,別人都在玩其他東西進步的時候,你要和其他網站 反爬作鬥爭 肉眼debug混淆的js。 一般壽命兩年(我已經到了, 掙扎跳槽中)。 在進入爬蟲工作的時候,需要根據個人興趣考慮 機器學習 ,轉web ,大數據等其他方向。
只有兩年的壽命。
如果只是簡單的爬取網頁信息,其實意義並不是很大。
一般來說爬蟲都是很多項目之中的一個組成部分,單一招爬蟲工程師的地方很少。
而且爬蟲一般需要的不是爬取信息,而是要結合你爬下來的信息的應用背景。
比如爬取價格信息做一個貨比三家的APP。
更重要的不是怎麼將網頁爬下來,更重要的是爬取信息去應用這些信息做別的事情。
所以我的推薦是,學習一個方向。然後做項目過程中用到爬蟲就去爬。
因為不同的爬蟲的應用背景,所需要爬蟲爬取信息的方式和模塊可能都不一樣。
以上是我的個人觀點。不要再看這個,可以結合具體的項目來。
比如我爬下信息來做什麼。找到真的目的。比如數據分析,還是天氣數據,還是價格信息做推薦系統?
做那些爬蟲只是其中一環,看幾天的教程可能就ok了。
當然如果你想做大一點的,比如搜索引擎,那麼搜索引擎中爬蟲也是其中的一環,爬蟲爬完之後要建立索引。而且還需要是分散式爬蟲。
那麼還是,你還需要針對操作引擎去學習對應的知識。
Come on!
推薦閱讀:
※黃哥Python,再來一個凡是
※幫小白飛速掌握Python的19個學習資源
※數據清洗要了命?這有一份手把手Python攻略
※Python在Finance上的應用-處理數據及製圖