有c#基礎,最近對爬蟲感興趣,開始轉學python,求指導?
能用vs獨立完成一些基於c#的管理系統,單位也在使用中,從同事那裡了解到爬蟲,向深入學習!主要是利用工作之餘,為了避免開始少走彎路,希望各位大神給點意見:
工欲善其事 必先利其器
1.開發環境
2.學習書籍
3.入門注意事項
如果你真有C#基礎,能做東西,那就試試看先用C#做爬蟲。其實道理套路都是一樣的,只不過是模擬請求,獲取響應,解析頁面,存儲結果,用啥語言都不是問題,何況C#這種MS家大玩意里自帶HTTP請求包和XML/HTML解析包是很理所當然的事情,而解析HTML方法上也是通用的。撐死了需要上個分散式框架,或者MQ之類的中間件,C#也全。
爬蟲重點不在於你用什麼語言用什麼框架,而是需要你能夠確切知道自己應該要幹什麼。有C#這種幾乎全對象的語言的編程基礎,上手Python學起來很快的,沒必要把語言和框架這個次要問題看得比主要問題還重要。1.開發環境: 推薦pycharm,創建Python虛擬環境很方便,下載安裝第三庫也很簡單(點點按鈕就行,不用命令行操作)
2.學習書籍: 《Python網路數據採集》,經典書籍,內容不深,但各個方面都有所涉及,包括HTML解析,API獲取數據,如何存儲數據,數據清洗,如何突破常見反爬蟲手段等等
3.入門注意事項: 看了書和別人的博客內容一定得多加練習,Python爬蟲應該是比較簡單的了,熟悉Python語言半個月,搞懂爬蟲半個月。下面是我前段時間學習Python爬蟲寫的,可以參考下。
爬取拉鉤網數據入門和進階版
爬了很多數據怎麼辦?拉勾網數據分析
工作用的語言的是C#,為了爬蟲也學了一個多月的Python,有C#基礎學起來python很快的,不知道你是什麼情況,我當初就學python就看的那本《python從入門到實踐》,看一看,然後做課後練習題,不過,最終我還是學會了C#製作爬蟲,就知乎天天推薦的python爬取xx,我用c#做一個很輕鬆的。不過也反映了一個問題,你百度搜索,C#爬蟲,能搜到的文章很少,一些也是看了你根本理解不了。現在用C#搞爬蟲,我覺得比python好很多。一些解析Html的庫也有,模擬get,post請求的C# 自帶了。
關於Python爬蟲:
推薦看Python網路數據採集入門,看完這本你大致對Python爬蟲會有一些概念了。先理清一下爬蟲爬取過程,知道什麼是request,什麼是response,能爬一些簡單的靜態網頁,用Beautiful Soup之類的庫解析網頁。然後嘗試爬取動態網頁,可以嘗試用selenium自動化測試工具配合web driver搞一些類似模擬登錄之類的玩意,不過這麼搞效率不太高,除非迫不得已,一般分析下數據來源來獲取動態載入出來的數據會更好一些。你還需要了解一下使用偽造一下爬蟲的知識,一般就研究在發送request的時候怎麼搞一些user agent, proxy, cookies之類的東西,讓別人網站不封你,或者你降低下爬取速度,畢竟大家都不容易...有些時候可能你確實得面對驗證碼,你需要學習學習機器識別驗證碼,圖像處理的知識就可以用上了,opencv有些庫可以搞搞,還有些用神經網路訓練識別驗證碼的,你要想深入搞可以學習學習。
入門完了就學習scrapy吧,這玩意可能一開始覺得很莫名其妙,你先照著documentation搞著,doc後面有一章會講詳細架構。用scrapy搭爬蟲效率比之前自己用urllib或者requests寫效率高多了,而且你可以輕鬆地用scrapy-redis構造起分散式爬蟲,爬取效率又可以上一個檔次。搞到這裡你可能覺得爬蟲沒什麼搞頭了,爬下來一堆數據不搞點數據分析、機器學習太無聊了...
關於Python:
沒什麼好專門學的,一邊用一邊學,看到不懂的看看stackoverflow就好了。
關於開發環境:
推薦Linux / Mac OS。幾條命令就可以解決的事情,Windows里折騰來折騰去搞不出來...
目前的工作是開發 主要的語言就是在用.net 最近也有意向了解python
既然你已經你能掌握c#了,有了編程底子學習別的語言也是很快的.
開發環境: 我是用vs2017 偶爾用mac
書籍還是比較多的,我也不太懂推薦 ,不過我有自己的學習方法:淘寶搜python 各個培訓機構的視頻都有,才幾塊錢,買上一套夠你看倆月的, 逃..
注意事項:除了多實踐還有 多記筆記,多記筆記 ,多記筆記
推薦閱讀:
※如何用爬蟲獲取網易雲音樂歌單中的歌曲?
※爬蟲怎麼解決封IP?
※python爬蟲如何斷點繼續抓取?
※python教程看完了,還是不會編程?
※Python有哪些常見的、好用的爬蟲框架?