韋世東:計劃 35 歲「退休」的資深爬蟲工程師

文 | 孫燕

前言:我想 35 歲退休

從開始學習爬蟲到真正賺到錢,韋世東只用了一個月時間。如今作爲一名資深爬蟲工程師,他已經有了七年的互聯網工作經驗。

除了日常的工作外,隨着技術水平不斷提高,他越來越多地在論壇等平臺上分享自己的經驗,幫助其他遇到問題的人“避坑”。

在這個過程中,他發現寫作也逐漸得心應手起來,後來他成爲了掘金社區優秀作者和 GitChat 認證作者,再後來他把經驗集結成書,《Python3 反爬蟲原理與繞過實戰》就此誕生,此書在預售階段就全部售空,並登上京東圖書銷量榜首位。韋世東就是這樣一個人,不管做任何事都能做得很好。

據他說,他的生活開始加速是在 2018 年從事爬蟲相關工作以後。“變化”是他提到爬蟲時說得最多的詞,他總是準備着應對隨時可能出現的突發問題,也喜歡解決這些問題後的成就感。

他說自己想要的太多,而現在的能力還不夠全部實現,所以他要不停奔跑。如今韋世東已經做好了未來七年的職業規劃,準備在35歲退休的他,還有很長一段路要跑。

解鎖爬蟲,遲到的程序員天賦

上學的時候韋世東並沒有在編程上展示出過人的才能。那個時候在學校,他把更多時間用在了和舍友一起經營一家電腦維修店。

從學校畢業以後,他還曾經因爲扛不住專業壓力在工作一週後就辭職。從信息安全員到後來的運營,他輾轉做的工作都和軟件技術專業沒什麼關係。 

“那時趕上了互聯網金融發展最快的一段時間,我在的公司成爲集團,我的職位也一直在升。之後跳槽,因爲履歷好看,我在另一家公司又做了副總經理。”

起勢過快,互聯網金融的發展很快就遭遇了拐點。2017年,國家大力開展互金專項整治,整個行業開始發出危險的信號。

e租寶被處罰,與比特幣一起闖入大衆視野的 ICO 團滅,現金貸行業封冰,不斷出現的新聞愈發讓韋世東覺得運營的工作風險太大,於是他漸漸地有了換行業的想法。

也是在那個每天氣溫都有30多度的夏天裏,他在南寧第一次接觸到了爬蟲。“那個時候公司正好非常需要數據分析和競品對比,通過數據來挖掘廣告投放的效果,所以我們想通過爬蟲來找一些競爭對手的數據,分析對方在廣告投入上哪一方面產出比較高,哪一方面比較低,作爲我們做選擇或者預算的參考數據。不過那個時候團隊裏沒有會爬蟲的工程師,我就只能自己上!”

學習爬蟲的過程格外順利,這韋世東自己都覺得意外。從第一次學習到開始賺錢,他只用了一個月時間。

在 2017 年底脫產學習的那一個月裏,他沒有買任何教程,靠着自己不斷摸索嘗試,有問題就搜索文檔或者在技術羣裏與大家交流,沒有特別的轟轟烈烈,就這樣他成爲了一名爬蟲工程師。

 “我覺得我學爬蟲的時候進步特別快。一起唸書的同學都做了工程師,可是我不行,我學不會其他編程知識。碰到爬蟲後我好像忽然開了竅,有豁然開朗的感覺。爬蟲不斷變化的知識和隨時會出現的新問題讓我覺得每天都不一樣,也不會有審美疲勞。”

沒有焦慮和猶豫,韋世東在學習了爬蟲後的生活變得清晰起來。他享受遇到難題後解決掉它們的過程。不斷變化的情況,給他帶來了新鮮感和成就感。

一個月的學習讓他更加自信:“爬蟲一定能學會!”他的職業生涯就像按下了快進,短短几年就衝到了很高的地方。

出現智能化爬蟲?掌握它就好!

工作的時候韋世東更喜歡關掉微信、釘釘和其他社交軟件,用紙筆記下思路和邏輯,讓自己專注於代碼。他說:“雖然我是個工程師,但是我不太喜歡用電腦,只有真正要寫代碼的時候纔會用到比較多。”

今年年初韋世東開始在北京工作,職位是他熟悉的爬蟲研發工程師,除了專業問題,他主要負責策略問題和協調等方面的工作,例如規劃大家在適當的壓力下完成公司任務。

談到一天的時間分配,韋世東很開心地說自己很忙很充實,最近每天都會工作到晚上9、10點鐘。他一邊要熟悉新公司的業務,一邊也要解決公司目前技術上最難的問題。對他來說,這些過程足夠有趣,可以每天早晨6點多就把他叫醒。

“平時我會把自己的需求轉換成學習方式,主動挑比較難或者沒接觸過的工作做,已經掌握的內容就和同事換一下,把對方手裏最難的換過來,團隊裏的很多人都是這樣。問題只要給了我,我就一定會解決。”

他很享受現在的狀態,面對可能遇到的突發問題,他更多的是期待。“爬蟲裏不確定因素太多了,隨時都有可能會出現突發問題。”他不會在原地等着,更多的時候,他會在問題找上他之前,就主動去了解學習。

現在韋世東正在做關於智能化爬蟲的工作。起因是前段時間他和一個網易工程師聊到了這個話題,看了相關論文,研究了算法後他就開始嘗試着做了起來。

目前智能化爬蟲的研究主要分爲兩個方向:智能化識別與智能化提取。其中智能化識別可以做到識別整個網頁中最重要的內容,在文章中找出正文與標題,過濾掉廣告和其他推薦信息,準確率高達百分之九十幾。韋世東表示,目前國內所有知名的新聞網站都在測試範圍內,與傳統爬蟲比起來,智能化爬蟲的反爬蟲工作難度更高。

這樣的操作看起來很聰明,可是韋世東和他的很多朋友依然覺得,與人工智能在視覺和自然語言處理上的應用相比,智能化爬蟲顯得有點笨。他說:“這也是一個算法和網頁特性決定的,因爲它會出現誤判,把周邊文本的一些內容算到正文裏。這個很難改進,因爲出現誤判的概率並不是由工程師決定的,與工程師的能力無關。” 

同時在應用場景上,智能化爬蟲也與傳統爬蟲有着一定差異。“智能化爬蟲和傳統爬蟲在應用場景方面有區別。在當前的大環境下,智能化爬蟲更適合要求覆蓋面廣但對數據準確率要求不高的場景,同時能夠解放勞動力,讓人將精力放在更重要的事情上,而不是編寫路查找語法。”

目前智能化爬蟲的發展還是很邊緣的狀態,專門從事的工程師也很少。韋世東說:“這個職位就像信息安全工程師,它沒有明確指標,沒爲公司帶來利益,所以也沒有形成規模。”也是因爲這個原因,目前專門的智能化爬蟲工程師數量還是很少,韋世東也建議大家根據自己的實際情況和未來規劃,來選擇是否學習相關工作:“因爲這方面專門的工程師培養起來比較困難,對於公司來說,培養成功後工程師個人的價值高,而公司本身卻很難看到直接收益。”

在國內,阿里巴巴等有着相對成熟的智能化爬蟲工程師的企業裏,非常專業的爬蟲工程師團隊正在將偏難以實施的技術做成服務,銷售給其他公司。

在談到智能化爬蟲未來的發展方向時,韋世東表示:“因爲智能化爬蟲目前並不算智能,它只是通過算法或者通過深度學習的方法解決了某些問題,想要達到真正的智能化還有很長的路要走。”

儘管智能化爬蟲已經投入應用並且代替了一部分工程師的工作,但韋世東並不擔心它之後的發展會取代掉爬蟲工程師,除了“看起來有點笨”外,韋世東考慮的還有社會進步中人與機器的關係。

“它的影響肯定會有,就像以前的機械取代人工勞動,現在智能化技術會取代掉沒有太高技術難度的工作和沒有效率的人,以後的發展一定是機器更加普遍,因爲它們成本更低,效率更高。但是對於我們來講,掌握機器的肯定還是工程師,只要好好學習,就能在時代潮流中保證自身身價水漲船高,不被潮水衝到沙灘上。” 

韋世東一點都不擔心“爬蟲工程師是否能做一輩子?”“爬蟲未來的發展方向在哪?”因爲他知道所有人的工作都會變,有的人會升職,有的人會換行業,這些都是很正常的事。比起那些,現在他最大的焦慮是“自己跑得太慢了”,這也是他在享受學習爬蟲樂趣中的一點苦。 

“雖然這幾年的工作中積攢了見識,但我起步晚,我想要的東西有很多,和當前的技術能力不匹配,所以會擔心焦慮。想要在有限時間內超過那些已經跑了很久的人,我要很快纔行。” 

這樣的焦慮讓韋世東“從入行到現在從來沒有真正休息過,天天都在奔跑”。韋世東的起步速度很快,快過了大部分人,快到自己都覺得不科學,這也讓他更快地開始面對被成就裹挾着,一起撲過來的問題。 

“一旦你的速度快了,你的職業等級就會很高,現實工作的時候,你就會直面自己能力不足的情況。你會想很努力地補足自己,那個時候就會跑得特別快,我現在就是這樣。” 

一夜成團,夜幕降臨

2018年,剛學習爬蟲後不久的韋世東就產生了帶動行業發展的想法。從最初“希望靠技術帶動行業發展”到“意識到最重要的還是把知識準確地輸出給有需求的工程師”,他一直在爲這些做着準備。2019年9月11日,韋世東發佈文章《今天,大佬雲集的夜幕團隊正式成立了!》,正式把這個他費心準備已久的團隊帶到了大家面前。 

在武俠動畫《秦時明月》系列中,漫畫家根據春秋戰國時期的背景設置了3位鬼谷子,作爲歷代縱橫家首領的代表,“縱橫”的概念是韋世東成立團隊的重要靈感。他說:“我聯繫了行業內知名的工程師,希望能合縱連橫,整合資源,做一個大家不需要考慮看或不看,可以直接學到優質內容的團隊。” 

現在的爬蟲工程師圈子裏,很少有人不知道這個成立了僅半年左右的團隊。對於這段時間取得的成就,韋世東表示十分滿意。一方面,團隊的知識輸出就像雨後春筍一樣蓬勃發展起來,目前已經建立了有兩千左右用戶的爬蟲論壇、多個技術微信羣和兩門專業課,團隊中已經出書和有出書計劃的成員也越來越多。

另一方面,夜幕團隊一直在努力調動大家的學習熱情。“現在一個普遍的現象是,無論是大廠還是小公司的程序員,能夠保持獨立自主學習的人很少。”注意到這個問題後,韋世東和團隊成員平時也會有意識地調動大家的學習積極性。 

在這個團隊中,韋世東把自己的角色比喻成籃球中的組織後衛:分配工作,把大家組織到一起。也是通過這樣的組織工作,他可以一直保持着積極的學習態度。“崔慶才、周子淇、陳祥安他們本身就是優秀的技術人員,在公司裏也是佼佼者,在他們面前我會很謙虛,因爲我能清晰地看到自己的不足。” 

雖然疫情當前,但是他們的工作熱情也沒有減弱。韋世東介紹:“今年年中,我們計劃請專業的律師來做一場法律普及講座,給大家講講法律紅線的問題。” 

在網絡上輸入“爬蟲工程師”,出來的多數詞條都會提到法律問題,這也是韋世東十分在意這一點的原因。工作之後,沒有人特意和他強調過身爲爬蟲工程師需要注意哪些法律規定,只是每條爬蟲違法被抓的新聞都像是一個信號,提醒着他:爬蟲工程師比任何人都更接近數據,也比任何人都接近浮在隱私上的那根紅線。 

“我是很謹慎的那種人,接觸爬蟲之後經常會看到有人因爲爬蟲而違法被抓的新聞,那時起我就格外注意對於數據隱私、敏感信息的界定條件。我自己認真讀了《中華人民共和國網絡安全法》、《中華人民共和國刑法》和《數據安全管理辦法》,看相關法律的時候我會着重讀一條:量刑標準,也就是到底判多少年。只有清楚這個事情會判多少年,耽誤多少年的時間,你纔會對法律有敬畏之心,不會在面對誘惑或壓力的時候誤入歧途。” 

在日常工作中,爬蟲工程師經常還會面對一種情況,那就是惡意爬蟲。它可以在很短的時間內瘋狂爬取目標網站信息,甚至導致對方網站癱瘓,正常用戶無法登陸,12306、美團酒店和飛豬旅行等出行網站就經常會面對這樣的情況。不出意外,這樣的爬蟲也一向是法律處罰的重點對象。 

“惡意爬蟲分爲主觀惡意和非主觀惡意。舉個例子,爲了提高爬取效率而採用分佈式多機協同爬取或者增加併發數,對目標網站服務器造成壓力的行爲,就是惡意爬蟲。” 

對於普通爬蟲工程師來說,即使自己沒有編寫惡意爬蟲,也仍然有可能在接手新工作時不小心“製造出”非主觀的惡意爬蟲。“程序員在不知情的情況下也有可能造成惡意爬蟲,例如你的公司管理着成百上千個爬蟲程序,有一些在人員交接的時候遺漏了,程序很有可能一直在運行,而無人知曉。”對於這種情況,韋世東建議大家在日常工作,特別是工作交接的過程中就做好記錄,交接時做好盤點。 

計劃35歲“退休”,換種思路重新工作

韋世東對於自己未來的職業規劃十分明確:在三年後成爲架構師,做四年架構師後在35歲“退休”,想到學校做老師或者回家養養鴨子。談到原因,他說:“我已經奔跑了很多年,35歲前還有7年左右的時間。跑了這麼久,那個時候也可以休息一下了。”按照他的計劃,再有一年半的學習他就可以成爲一名初級架構師。

在韋世東自己看來,他之所以可以利落地制定好這個規劃是因爲自己對於代碼和做程序員本身沒有什麼執念。“我不是一個程序員,因爲我不是一個喜歡寫代碼的人。我更喜歡完成一件事情後帶來的滿足感,寫代碼恰好是一個實現途徑。只是我一定會做到一點:我編寫出來的代碼一定是穩定的,一定是最漂亮最規範的。” 

運營出身的經歷讓韋世東對周圍事物始終保持着敏感,避免陷在編程的思維裏。和專注於寫代碼的技術人士不同,在他的想法裏,很多事情都是可以“經營”的,重要的是有選擇地規劃時間。 

在《秦時明月》中,韋世東最喜歡的角色是鬼谷派衛莊。這個角色有着一頭瀟灑的白髮,輪廓深邃,臉型消瘦,官方人物性格設定是:無論自己是不是喜歡,只要有必要,他可以毫不猶豫地做,也絕不後悔。這一點深深影響到了韋世東。

上大學之後,他對於每次面對變化時做出的選擇都很滿意,而他滿意的標準也很簡單:自己選的都是最好的。“我從來不會後悔自己的選擇,因爲我考慮的是如何承受這個選擇帶來的結果,而不是困擾其中。”這也是韋世東經常會提到的建議:“你不能在每一個十字路口都猶豫很久,然後再後悔。爬蟲這個行業沒有技術要求,也沒有年齡要求。我的經歷告訴我,做到多看官方文檔,工作的時候把思路寫下來分析,很多問題就會迎刃而解。” 

沒有了這個顧慮,“變化”本身看起來也就沒有那麼可怕。就像他剛開始學習爬蟲時那樣,未來不確定的變化吸引着他不停地繼續向前。 

實現職業自由之後,韋世東的另一個計劃是創業。根據自己的觀察和經驗,他認爲保險起見,35歲前不要創業,這個年紀他剛好從公司“退休”,有了一定的的積累和資金,創業計劃可以提上日程。

做運營的時候韋世東讀過一本叫《窮爸爸富爸爸》的書,書中介紹資產和負債的內容中給了韋世東啓發,他想做一個“賣水的人”。 

美國的西進運動催生了著名的淘金熱,一部分人一夜暴富,更多的人一無所獲,韋世東想做第三種人。“不是所有人去淘金都一定淘得到,但是每個人都會需要工具,我做那個提供工具的人也能賺錢。” 

順着這個思路,韋世東準備和朋友一起開發一個互聯網駕校,用類似美團的模式,把老家那邊的駕校信息和學員信息羅列到一個平臺上,方便學員挑選駕校的同時,通過運營給駕校遞上掘金用的錘子。

也許不到十年,“退休”後的資深爬蟲工程師韋世東就又會換上一個身份。

21 個反爬蟲經典示例

從實戰出發

印證國內互聯網企業內部加密原理

側重講解反爬蟲的原理以及繞過方法

爬蟲工程師不可錯過的「武功祕籍」,內容包括但不限於 Cookie 反爬蟲、WebSocket 反爬蟲、字體反爬蟲、WebDriver 反爬蟲、App 反爬蟲、驗證碼反爬蟲。

本書首先介紹了開發環境的配置,接着討論了 Web 網站的構成和頁面渲染、動態網頁和靜態網頁對爬蟲造成的影響,緊接着詳細介紹了信息校驗型反爬蟲、動態渲染反爬蟲、文本混淆反爬蟲知識、特徵識別反爬蟲的原理、實現和繞過,然後概覽了 App 數據爬取的關鍵和常用的反爬蟲手段,最後介紹了常見的編碼和加密原理、JavaScript 代碼混淆知識、前端禁止事件以及與爬蟲相關的法律知識和風險點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章