python爬蟲實習?
鄙人應用化學碩士在讀,對化學是又愛又恨。喜歡它但是又不好找工作,想著之前本科輔修過七校聯合的cs專業,所以想考慮轉行。對計算機基本知識也有了一些了解,但是沒做過什麼項目(比較尷尬),畢設做的也比較水(那時感覺大學是真的難啊)。碩士階段入門了python爬蟲,通過廖雪峰和W3school的教程了解了一些html,css,js,php,mysql的基礎知識,還學了一些爬蟲的庫(Beautifulsoup,requests),有時也去leetcode練練演算法,天真的以為就可以上手爬了,於是乎跟著網上的小白入門教程去爬天氣,知乎,模擬微博登錄...
被虐哭了好嗎?難道是我智商太捉急?還有那些爬蟲框架scrapy也不是想用就能用的,到最後發現學的越多不會的更多!所以像我這樣的怎樣才能找到計算機相關的實習呢?
看到問題,挺感慨的。
我是化工碩士,現在轉行在做爬蟲。基本一路都是自學,也遇到過你所說的「被虐哭」的時候,能被虐哭,無非就是知識積累不夠,又無從尋找答案,那怎麼辦呢?
一、補基礎咯。說到爬蟲,無非就是怎麼從網頁抓取數據,那你肯定要知道web是怎麼回事,當你發出一個網路請求的時候,都發生了什麼?當你需要登錄的時候,都幹了什麼?這些可以看看計算機網路基礎相關的書籍,了解了解網路協議,GET/POST/PUT等等請求方式......
補好基礎,相信你再去寫爬蟲,會有不一樣的體會。
二、要懂得找答案的方法。我自學的時候,經歷了 搜百度---&>看CSDN技術博客---&>查谷歌,stackoverflow---&>抄github---&>翻文檔---&>研究源碼 這樣的尋找答案的過程。一開始不懂的時候,只會看看百度,搜搜知乎,csdn,後來慢慢的開始在國外技術論壇上找答案,再後來有問題就翻文檔,看源碼。一開始不懂得多,就多查多問,通過各種途徑找答案,答案找得多了,搜索解答的速度就快了,以後遇到問題就不慌了。
最後你會發現,程序員的核心能力,其實是找答案的能力,要不怎麼很多人戲稱自己是面向stackoverflow,面向github編程呢。
我自學的時候,也是學得越多,想學的也越多。學了爬蟲又學後端,學完後端又寫前端,現在回想起來,覺得不是特別有必要,現在各種語言層出不窮,各種應用各種工具眼花繚亂,一個人想要都精通,是很費時間的。
希望你還是想好一條路,就往深入了學,邊學邊投簡歷面試,向面試官討教,找到自己的不足,爭取先找到實習,利用公司的平台和實際的項目來豐富自己的技術棧。
祝好!
不是智商的問題,手熟罷了。
我也是工作上有個分析的需要,網上找到一個庫,一個個看太麻煩,於是照著網上的資料自己寫爬蟲,很快就能用了。然後再看一些騷一點的操作,改進一下,多去去stackoverflow或者github,不少問題的解決周期會縮短。
硬體開發是到處找元件參考設計,然後拼起來。應用軟體開放是到處找模塊樣例,然後拼起來演算法開放是到處找模塊演算法樣例,然後拼起來固件,微碼開發是到處找常式,然後拼起來fpga開發,是到處找ip,然後拼起來。大家思路都是一樣的。不過最近半年沒接觸,又有些忘了,想用還得再翻翻代碼可以加我微信lujqme拉你進Python數據社區,我寫了一系列數據相關的教程。從數據抓取到數據分析還有數據挖掘,也有大數據相關的內容。有問題我會及時回復。像你提到的requests和scrapy都有詳細講解和實戰訓練。
現在兩個群已經超過600個小夥伴了。如果你跟著網上的教程都做不來的話,到公司實習更是被虐哭,我現在就在公司實習爬蟲,感覺彌補了很多以前不清楚的知識,如果你想找爬蟲實習,就去面試,通過面試發現自己的不足,如果能找到實習工作的話,通過實習,你會有很大的提升。
我學Python之前,接觸了PHP這門語言,web開發,linux下nginx和Apache的伺服器架設和配置,之間還學習了前端知識(甚至還學了vue框架)。接觸Python後,發現了requests庫,bs4,還有就是scrapy框架,總體來說想實現的爬蟲基本上都能實現,模擬登錄也能做個前端加密(rsa這種)的東西。其實就是基礎知識更重要嗎,等你會去做一個網站後端,也明白了前端和ajax的渲染原理,再去做一個爬蟲可以說手到擒來。其實做爬蟲只是一個小愛好,現在主要還是學習jee,可以說web開發者基本上都可以寫爬蟲,無論是用Python還是java乃至用PHP(雖然這東西不內置多線程編程不適合爬蟲),只要能弄清楚其基本原理,會某種語言並不是必需品。題主可以先試著去不用框架去寫一個個人博客,明白了get和post方法作用,明白cookie和session是幹什麼用的,明白ajax(包括jsonp)怎麼去非同步請求,弄清楚靜態頁面各個html標籤,然後了解一些資料庫的東西(sql和nosql都要會用),基本上自己再去做爬蟲,可以說手到擒來吧。
實習不一定非要去爬蟲崗位,另外用人單位和你想要的是基礎紮實學習能力強的人
框架什麼的,如果有基礎的話,可能一兩天就能用個大概了吧
就爬蟲來說,有時候攔住你的並不是爬蟲的知識,而是原理相關的問題化工碩士,爬蟲自己練感覺還可以,去了公司直接被虐,上來就讓我做項目,一堆不會,實習兩星期,跟不上節奏。心得就是樓主想要實習,你可以先把天眼查,搜狗微信公眾號,各個門戶網站什麼爬一遍,一萬條信息至少
寫爬蟲的關鍵是了解http協議。具體使用什麼框架倒是其次的事情。
寫完又發現這是需要說怎麼找實習,這個,我也不會,我自己也準備找。
======================================
先一步一步來?爬取不需要登入的?
可以利用urlib、requests或者scrapy等庫,urlib是原生的網路庫,requests是更高一層的封裝,scrapy是個爬蟲庫,(大概就是這麼個分類吧)個人比較喜歡用requests庫,簡單好用。
學一點html解析和資料庫存儲?
當你會用這些軟體獲取數據後,你就可以開始試試解析裡面的數據,比如使用re,beautifulsoup或者相關的庫進行解析。然後解析的數據嘗試寫入文件或者資料庫。
然後再考慮登入問題?
使用post傳入數據,或者利用cookie登入?
深入了解點http協議?
當然前面網路也需要了解基本的get,post等,然後http狀態碼。
慢慢了解一些反爬蟲策略及其應對方式?
比如如何防止賬號被封。
推薦閱讀:
※只針對 Python 爬蟲,該如何學習?
※pymongo 查詢時,顯示循環不同,為何效率相差百倍?
※abaqus的二次開發為何用python語言?
※看完了廖雪峰的Python教程 ,只學會了初步,接下來怎麼學習?
TAG:Python |