您好,我是碼農飛哥,感謝您閱讀本文,歡迎一鍵三連哦。
本文要點:從Python爬蟲工程師的招聘要求出發制定學習路線,同時還推薦免費優質的學習資源。 打卡學習不迷茫。
乾貨滿滿,建議收藏,需要用到時常看看。 小夥伴們如有問題及需要,歡迎踴躍留言哦~ ~ ~。
前言(為什麼寫這篇文章)
我陸陸續續更新了三個關於Python程式設計方面的專欄(PS: 下面會詳細介紹這些專欄)。每個專欄都突出介紹了需要不同階段需要掌握的知識點,各有側重點。不過美中不足的是還沒有一個全面完善的學習路線圖將專欄串聯起來。
這就好比去一個陌生地方沒有地圖一樣,我們不能走一步算一步,摸著石頭過河,而是要走好這一步,想好下一步,知道自己的目標以及要走的路。
故在此我專門用一篇文章介紹Python開發工程師需要掌握的相關知識點以及相關知識點的學習路線圖。
有了這份學習路線圖,媽媽再也不會擔心我找不到好工作了。
優質專欄推薦
- Python從入門到精通
推薦理由:
該專欄重點介紹Python的基礎知識點,語言風趣幽默,通俗易懂。所有的Python基礎知識點詳細的描述。
文中所涉及的實際程式碼都通過了實踐。訂閱專欄之後加入學習群,有啥問題可以直接在學習群裡問或者私聊我,讓你學習路上不再孤單。
雙十一訂閱更是優惠不斷:優惠券的領取地址 - Python筆記
推薦理由: 免費專欄,主要記錄在使用Python的過程中碰到的一些問題和解決方法。有需要小夥伴可以看看。 - 目錄
推薦理由: 免費專欄,主要記錄Python爬蟲的相關知識點,持續更新中。
@
為什麼學,怎麼學?
學習一門技術,我覺得首先是要明確自己學習的初心。
所以,每學一門技術之前不妨給自己來個三連問:
第一個問題: 我為什麼要學這個技術呢?
第二個問題:學了之後可以用來幹什麼呢?
第三個問題:我該怎麼學習這個技術呢?
下面我就來給出我的答案:
- 第一個問題:我為什麼要學習這個技術?
我的答案是為了找工作(工作需要)。我相信這也是很多小夥伴的學習目的。作為一個工作多年的老程式設計師,我學一門技術要麼是做技術儲備,要麼是工作需要。當然,也不排除有的小夥伴是出於興趣愛好等原因。 - 第二個問題:學了之後可以用來幹什麼呢?
我的答案是用來提高工作效率,增強自身能力。比如學習了Python之後我可以用Python來進行爬蟲,來開發網站,來編寫指令碼等等。 - 第三個問題:我該怎麼學習這個技術呢?
這個問題也非常重要,在學習之前沒有考慮清楚的話就很容易走彎路。
我的答案是首先制定一個靠譜的學習路線圖,明確先學習什麼,後學習什麼,明確是通過看書學習,還是通過看視訊學習,還是說通過部落格學習,明確是邊學邊練,還是看著視訊刷著手機。
每個人的學習方法都不盡相同,適合自己的才是最好的。
我學習方法是:
- 制定一個靠譜的學習路線圖 (百度搜尋XX技術的學習路線或者請教大牛)
- 制定學習計劃,每天學習什麼,每週要學習到啥程度
- 找靠譜的學習資源,邊學邊練。
- 編寫部落格記錄自己的學習成果。
Python工程師需要哪些技能呢?
Python工程師需要具備哪些技能呢?我說的不算,張三說的不算,李四說的不算。只有實實在在的大廠的招聘要求說的算。這裡我擷取了幾個大廠Python工程師的招聘要求。
-
騰訊招聘Python工程師
-
位元組跳動招聘爬蟲工程師
-
快手招聘 Python工程師
這裡找了幾個有代表性的大廠的Python工程師的招聘需求。讓我們簡單分析下這些職位要求。
共同點:
- 熟悉Python程式語言(擁有相關的開發經驗),語言只是一個工具,對大廠而言只需要你精通某一種開發語言即可。
- 熟悉MySQL (這個是個通用技能,後端開發都繞不過)
- 熟悉Linux 系統環境 (這個是個通用技能,後端開發都繞不過)
- 熟悉主流的爬蟲技術及爬蟲框架(針對爬蟲工程師)
所以,我們的學習路線圖也就需要按照這些要求來制定。
1. Python基礎的學習路線(必選)
首先是Python基礎的需要掌握的知識點的學習路線圖。如下圖1所示
Python 基礎必須熟練掌握,這也沒啥好說的。這裡說下幾個特別重要的知識點:
- 資料型別,這是每個程式都會用到的,重點需要掌握序列型別裡的列表list,tuple ,還有就是字典dict。
- 然後就是流程控制,迴圈,判斷這個也是必須要會的。
- 接著就是函式,物件導向的思想,以及檔案的操作。
- 最後就是併發程式設計,如何建立一個執行緒,怎麼使用執行緒池,這個也是必須要掌握的。
Python基礎學習資源推薦
這裡推薦幾個個人認為比較好的學習資源。
- Python從入門到精通
推薦理由:通俗易懂,廣受好評,同時提供一對一的諮詢服務 - C語言中文網Python基礎篇
推薦理由:通俗易懂,免費,免費,對新手很友好。 - Python3 簡明教程
推薦理由:實驗樓的課程,提供線上學習以及練習的環境,學練一體,入門課程免費。不過儲存執行環境需要購買會員
2. Python爬蟲的學習路線(必選)
大廠純Python爬蟲工程師的崗位比較少,我找遍了阿里,騰訊,百度,位元組的Python爬蟲工程師的相關崗位。最終只在位元組跳動招聘網站上找到了Python爬蟲工程師的崗位。這就告訴我們學習Python不能止步於爬蟲。 同樣的這裡我也給出一份爬蟲的學習路線圖,如下圖2所示。
雖然,只掌握爬蟲相關的知識點比較難找到對口的好崗位。但是如果能熟練掌握爬蟲技術的運用,對自身Python開發能力會有一個非常大的提升。
爬蟲的學習路線主要是:
- 掌握基礎的HTML和Dom樹的相關知識點,懂得啥叫元素,啥叫標籤,啥是css選擇器。
- 按照爬蟲的三大步驟:抓取網頁原始碼,提取所需資料,資料儲存分別來學習。
- 首先是抓取網頁原始碼,這裡就是熟練運用requests庫了。
- 接著是提取所需資料了,這裡就是要熟練掌握lxml庫的運用,XPath選擇器,以及正規表示式了。
- 在接著就是儲存提取的資料了。資料可以儲存到MySQL,NoSQL 等資料庫了或者CSV中。一般而言,在實際開發中都是儲存資料庫中。這就需要我們掌握一些資料庫的基礎知識了。
- 然後就是多執行緒爬蟲,批量爬取資料的話,單執行緒的程式肯定是力不從心的,這時候就需要用到在Python基礎學到的多執行緒的知識點。將其運用到實際爬蟲中去。
- 如果每次都是這麼搞,爬蟲的效率勢必會比較慢,這就開始學習專業了爬蟲框架了Scrapy框架了。
經過上述七個步驟,你對Python爬蟲技術也瞭解的差不多了。
但是大廠往往要求還會高一點,比如位元組的爬蟲工程師會要求你熟悉常見反爬封禁策略。
Python爬蟲學習資源推薦
- 黑馬Python爬蟲學習視訊
獲得方式:關注公眾號【碼農飛哥】回覆: 學習資料
推薦理由:視訊講解很細緻,路線圖中涉及到的知識點都講解到了。唯一美中不足的是視訊有點老了。視訊還有配套的課件以及程式碼 - 13天搞定python分散式爬蟲_尚學堂Python網路爬蟲教程和爬蟲實戰詳解_Python分散式
推薦理由:免費視訊,尚學堂官方出品,視訊較新。爬蟲相關的知識點基本涉及到了。
3. Python網站開發(可選)
學習完成Python爬蟲中,相信你的Python開發能力已經上了一個很大的臺階,如果有興趣的話可以學習一下Python網站開發。同樣的這裡給出了一個學習路線圖。如圖3所示:
網頁開發需要了解一些必備的前端知識點。
- 瞭解前端知識點:HTML,CSS,ajax。
- 學習Flask框架或者Django框架,這兩個框架都是Web開發框架。它們的區別是:
Flask:
小巧、靈活,讓程式設計師自己決定定製哪些功能,非常適用於小型網站。
對於普通的工人來說將毛坯房裝修為城市綜合體還是很麻煩的,使用Flask來開發大型網站也一樣,開發的難度較大,程式碼架構需要自己設計,開發成本取決於開發者的能力和經驗。
Django:
大而全,功能極其強大,是Python web框架的先驅,使用者多,第三方庫極其豐富。
非常適合企業級網站的開發,但是對於小型的微服務來說,總有“殺雞焉有宰牛刀”的感覺,體量較大,非常臃腫,定製化程度沒有Flask高,也沒有Flask那麼靈活。
另外,快手招聘Python工程師要求掌握Tornado框架,這個框架也是一個Web框架,不過跟其他Web框架最大的不同是它是一個非阻塞式的web框架。
Python網站開發學習資源推薦
4. Linux 基礎(必選)
基本上大多數的專案和網站都是部署在Linux伺服器上的,所以掌握Linux的常用操作就顯得尤為必要,這也是相關崗位的招聘需求上明確寫到的。Linux的學習路線圖如下圖4所示:
因為Linux不是我們學習的重點,所有我們只需要掌握Linux初階階段要求掌握的知識點。對於學有餘力的同學,可以學下中級乃至高階的知識點。
Linux初級階段重點需要掌握的知識點包括:
- Linux 的常用命令,這個真的太重要了。
- 檔案與目錄管理
- 檔案許可權與目錄配置
- 檔案的打包和壓縮
Linux基礎學習資源推薦
-
鳥哥的Linux私房菜簡體中文版
推薦理由:鳥哥的Linux私房菜真的是Linux學習的首推資料。我當初還沒買了一本實體書,實在是太厚了,也沒有看完。實在不推薦買實體書。不過好在鳥哥的Linux私房菜出了線上學習網站,不過官方網站是繁體中文的,對我們這些使用簡體的人來說著實有點不太友好。
所以這裡我放出了相對比較友好的簡體中文版鳥哥的Linux私房菜簡體中文網站 -
Linux 命令大全
推薦理由:其實日常開發中我們用的最多的就是各種Linux命令,這裡推薦一個Linux命令大全的網站。查詢命令特別方便。
5. MySQL的學習路線(必選)
從上面的招聘要求我們同樣可以看出MySQL也是我們需要要掌握的一個知識點。MySQL的知識點很多很多,如果要學的很深的話著實要花費一番力氣。這裡我同樣的列舉出了一個MySQL的學習路線圖,如下圖5所示:
老實說,不管是從事Java開發工程師的崗位,還是從事Python開發工程師,MySQL都是繞不過的坎。這裡對MySQL的學習還不能只是掌握一些簡單的皮毛知識。而是要將MySQL的進階知識也要掌握好。針對進階知識學有餘力的同學可以掌握一下,普通的同學只需要掌握到SQL基礎即可。
特別說明:
- MySQL的SQL基礎必須要熟練掌握,最基礎的建表刪表修改表結構的DDL語句, 最基本的增刪改查的DML語句,以及複雜的SQL語句,比如關聯查詢,子查詢等等都是要求必須掌握的。
- 還需要掌握一下資料庫事務,資料庫鎖,以及SQL語句的優化。
MySQL學習的推薦資源
- 《MySQL必知必會》
推薦理由:這是我整篇文章中推薦的唯一一本書,無他,就是因為這本書小巧,並且特別是和小白入門學習。 - SQL線上練習
leetcode資料庫刷題:
推薦理由:XUESQL網站是一個練習SQL的網站是,適合從基礎開始練習,題目由淺入深,而且有配套B站視訊。leetcode不僅可以刷演算法題,還可以練習寫SQL,而且可以線上測評,和評測演算法題一樣,也會讓你很直觀的看到自己所寫的SQL的執行速度等。相對而言,leetcode中的SQL題目要複雜些。其實,練習SQL最重要的還是要有實際場景,只靠網站練習可能在實際工作中用處不大,如果你日常工作經常遇到些SQL的場景,那麼慢慢你的SQL水平就會提升上去。
總結
本文從大廠Python工程師的招聘要求出發,羅列了作為一個Python工程師所必須掌握的知識點,並附上了眾多優質的免費的資料。
在此誠邀您加入我的社群。各近3W的社員一起打卡學習,學習的路上不在孤單。
粉絲專屬福利關注【碼農飛哥】公zhong號
軟考資料:實用軟考資料
面試題:5G 的Java高頻面試題
學習資料:50G的各類學習資料
脫單祕籍:回覆【脫單】
併發程式設計:回覆【併發程式設計】
全網同名【碼農飛哥】。不積跬步,無以至千里,享受分享的快樂
我是碼農飛哥,再次感謝您讀完本文。