A. 學習爬蟲到什麼地步才能接單
學習爬蟲必須要中級以上的地步才能接單。
我們將爬蟲技術分為三段,分別是初中高級。那麼需要到達中級以上才能接單,如果僅憑著初級的爬蟲技術來接單,一來實力不足不能滿足甲方需求,二來就算能做成一單也不能做成第二單,無法形成正向的循環。
中級爬蟲的水平可以算是職業爬蟲師的基本水平,除了初級爬蟲的知識點之外,還應該掌握以下一些知識點:
1、爬取方式
當你的requests 不頂用的時候,你就應該想到數據來源可能是Ajax,你去分析網站的時候就得懂JavaScript;如果想繞過分析Ajax和一些JavaScript邏輯的過程來爬取數據,我們就得用 Puppeteer、Pyppeteer、Selenium、Splash等來模擬瀏覽器的方式來爬取。
2、爬取速度
除了爬取方式,還有爬取速度,這時候你就得有多進程、多線程、協程的知識儲備了。
3、爬APP
如果你只會網頁爬蟲,那你還算不上中級爬蟲的水平,你還得會爬APP,APP也占據著半壁江山。這個時候你就得會Charles、Fiddler抓包了,抓到之後拿來模擬就行;如果介面被加密了,可以用 mitmproxy直接監聽介面數據或者走Hook,比如上Xposed也可以拿到。
爬蟲簡介:
網路爬蟲是一個自動提取網頁的程序,它為搜索引擎從萬維網上下載網頁,是搜索引擎的重要組成。傳統爬蟲從一個或若干初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統的一定停止條件。
聚焦爬蟲的工作流程較為復雜,需要根據一定的網頁分析演算法過濾與主題無關的鏈接,保留有用的鏈接並將其放入等待抓取的URL隊列。然後,它將根據一定的搜索策略從隊列中選擇下一步要抓取的網頁URL,並重復上述過程,直到達到系統的某一條件時停止。
另外,所有被爬蟲抓取的網頁將會被系統存貯,進行一定的分析、過濾,並建立索引,以便之後的查詢和檢索;對於聚焦爬蟲來說,這一過程所得到的分析結果還可能對以後的抓取過程給出反饋和指導。
B. 自學了編程,怎麼在網上接單
作為一名開發者,該如何走向自由職業?
這正是這篇文章要討論的問題,我們會先介紹開發者走向自由職業的 4 種常見方式,然後聊聊開始自由職業前必做的 5 種准備。最後,還會分享我個人的 2 點深切體會。
走向自由職業的 4 種常見方式
技術出色的開發者,通常具有下列能力:
軟體開發,即針對特定領域問題,運用思維、分析、設計、想像力等尋找答案,通過語言、技術框架、工具等編寫軟體來實現答案的能力。
講授,即把自己明白的技術、軟體、解決方案等展示給別人並讓別人也明白的能力。
咨詢,即通過你所儲備的知識、技能、經驗、框架等幫助別人解決問題的能力。
熱愛分享的開發者還會擁有另一項核心競爭力:寫作。
軟體開發、講授、寫作、咨詢這四種能力,構成了開發者走向自由職業的 4 種常見方式。
軟體開發
很多開發者都聽說過「私活」,也接過私活。所謂私活,就是個人通過某種途徑承接的軟體項目,相對於公司的「公」而言,這種形式被稱為「私」,現在這種方式還有很多說法,比如外包、眾包、任務等。
這是我們開發者走向自由職業的最常見方式。
我個人幫助別人修改過開源代碼,用 Qt 開發過 PC 端軟體,對這種方式有一些體會。除了軟體開發,你還需要下列能力:客戶開發、商務談判、項目管理。
這種方式很直接,不斷開發客戶,承接項目,賺取報酬。其好處是:你獲得的報酬是按項目金額來的,而不是按月薪。套用某二手車買賣平台的廣告語,沒有中間商賺差價。
想想看,你在公司,一個項目是 100 萬,你一個人一個月搞定了,也還是拿三幾萬的薪水;而如果你自己接到這個項目,一個月完成,那你這個月就賺到 100 萬(暫不考慮增值稅、個人所得稅等隱性成本),天差地別對吧。所以,獨立開發軟體項目是誘惑力很強的方式!
這種方式也有一些比較困擾人的問題:你並不總是能接到項目。需求可能不斷變化,你需要直接面對這點,還要管理這種狀況:項目款不一定能及時到賬,尾款也不見得能收回來。
還有,如果你想獨自承接稍大一點的項目,你還需要注冊一個公司來承接項目(稍大點兒的項目都是公對公),擁有一家公司,也會產生一些成本,比如代賬、房產稅、企業所得稅等。
不過現在的眾包方式,會好一些,像解放號、雲沃客、碼市、程序員客棧等平台,都有使用這種方式協作的項目,你只要做你擅長的事情——軟體開發——就好了,別的事情由別人或平台來完成(你需要支付平台一些提現費用,一般10%左右)。
講授
如果你具有良好的講授能力,就能把自己在某個技術棧上深厚的積累換一個形式變現:講課。
沒錯,你可以把自己學精學透的技術講給別人聽,把別人教明白。這是非常有價值的事情!
很多人在初學某種技術時都需要好的老師、好的教程幫助他們跨過從不知道到知道、從知道到做到的距離。
IT 技能類的課程,能幫助別人掌握一技之長,幫助別人賺到錢,需求一直很旺盛。這些年線上的平台發展很快,很多學員也願意低成本在線學習,像 51CTO 學院、CSDN 學院、慕課網、極客學院、網易雲課堂、騰訊課堂、淘寶教育等平台,都很受歡迎。
我個人錄制過 Qt 和 Node.js 方面的課程,放在 51CTO 學院和 CSDN 學院出售,有些 3 年前的課程,現在還有人購買。
如果你可以運用講授能力,把自己的技術積累轉化為在線課程,就可以利用在線教育這種方式實現自由職業。
我所潛伏的 51CTO 講師群里,有不少靠編程課程實現自由職業的講師,原來都是開發者。在雙 11 、IT 充電節等活動期間,有很多講師一天銷售額過萬。
這種方式有幾項好處:
●啟動成本低
●受眾面廣
●一份時間賣多次
●想像空間大
寫作
2013 年下半年,我恢復了 CSDN 技術博客的更新,專注分享 Qt 技術,很快成了 Qt 領域的知名博客,被不少人關注。後來一些文章被編輯看到,聯系我出版 Qt 方面的圖書,於是我通過 《Qt on Android 核心編程》和《Qt Quick 核心編程》等圖書建立了影響力和品牌,反過來博客也因此擁有了更多的訪問。
2015 年我開通了微信公眾號,一周更新三篇文章,同年出版了《你好哇,程序員》一書。
2017 年 7 月份,憑借寫作帶來的自信,我離開公司,開始自由職業,通過寫作、講課等方式獲取收入。
我的朋友楊開振,因為所著圖書《深入淺出 MyBatis 技術原理與實戰》銷量很好,於 2017 年 4 月份離開組織,通過寫作實現了自由職業。
寫作是程序員自由飛翔的翅膀,它能幫你積累影響力,建立個人品牌,並且,也能夠直接變現。對於開發者來講,寫作是通往自由之路最強有力的武器。
寫作這條路具有無與倫比的好處:
●啟動成本低
●個人可以獨立完成
●可以直接建立影響力和個人品牌
●一份時間賣無數次
●有想像力
它最大的困難在於:
●如何寫好
●如何捕捉到更為廣泛且強烈的需求
●如何持續寫下去
咨詢
如果你看過《我的前半生》這部電視劇,一定對賀涵印象深刻,他做的就是咨詢工作:用自己的知識、經驗、技能、思維、框架等幫別人解決問題。
在 IT 領域,如果你有完善的技能樹和豐富的經驗,能夠站在較高的層面上做全局性思考,善於尋本溯源地分析解決問題,也可以從事咨詢顧問之類的工作,不受雇於特定的組織,直接為客戶服務。
著名網站庫殼的創建者左耳朵耗子陳皓,擅長底層技術架構,對高性能、高可用性、分布式、高並發,以及大規模數據處理系統有豐富的經驗和心得。
他有段時間因為個人原因不能在公司上班,就通過為其他公司提供技術咨詢來獲取收入,並且,收入還蠻高。
我有段時間就希望通過為一些公司提供技術咨詢來賺錢,但沒有成功。
我還記得有家公司的老闆對我說的話:你加入我們公司,帶著團隊把項目做起來,然後就可以成為我們的咨詢顧問。
看見了吧,這就是獨立咨詢的難處:當你不夠牛 X 時,沒有人願意為你不知所謂無法確認效果的咨詢付費,開發客戶很難很難。ThoughtWorks 的很多咨詢顧問雖然有公司為其背書,也還是常常遭人詬病:你自己沒做過什麼項目,憑什麼給我們提供建議?
雖然很難,但這確實是一條路,如果你有志於此,可以看看享譽世界 IT 領域的咨詢顧問、美國計算機名人堂代表人物傑拉爾德·溫伯格寫的《咨詢的奧秘》,那是聖經式的著作。
當然,除此之外,你還要在自由之前,就積累一些客戶資源,並且為客戶留下你具備咨詢能力的深刻印象,這樣他們才可能成為你自由後的衣食父母。
走向自由職業必做的 5 種准備
如果你確認了走向自由職業的方式,接下來就該做准備了。根據我的個人經驗,下面 5 種准備是必須要做的:
●變現方式
●市場測試
●飽和度測試
●預期管理
●B和Z方案
變現方式
我所說的變現方式,包含兩種:賣時間和賣產品。
這里的賣時間,指「一份時間賣一次」這種工作方式。你在企業內工作,就是在賣時間,朝九晚五,每天 8 小時,每個月領薪水。
以賣時間的方式實現自由職業,實質還是用你的專業能力為客戶提供時間層面上的專屬服務(你不可能在同一時刻為不同的客戶服務),只是你不再受雇於企業,不再受規章制度約束,能夠按照你自己的意願安排在什麼時間用什麼方式完成服務。外包、眾包、私活、咨詢等方式,都是賣時間。
賣產品則是指「一份時間賣多次」這種工作方式,像我們前面提到的寫作、在線課程等,都可以歸為此類。它相比賣時間的方式,具有更大的想像空間,可以獲得規模化的收入。可能你寫出一本經典、暢銷的書,做出一個爆款的課程,就可以獲得幾十萬的收入。
在自由職業之前,你需要確認你最突出的能力,選定你首要的變現方式——因為你業余時間有限,不可能同時做很多事情。
市場測試
在離開組織自由職業之前,你需要測試一下,你賴以實現自由職業的變現方式,可以給你帶來多大規模的收入。
比如你做技術課程,一定要先在業余時間開發幾門課程,放到 51CTO 學院或者騰訊課堂之類的在線教育平台上去賣賣看,統計一下收入情況,看這些收入能不能維持你可以接受的生活水平。
比如你寫書,也要出版一本,觀察半年,看看銷量,看看能拿到多少版稅。前面提到的楊開振,他是利用業余時間寫出了《深入淺出 MyBatis 技術原理與實戰》這本書,半年內賣了 2 萬冊,拿到了十幾萬的版稅,才決定自由職業的。
比如你做軟體外包或者私活,也要開發幾個客戶接幾個項目看看收入情況;如果做眾包,則可以到雲沃客、解放號、程序員客棧、碼市等地方去驗證半年左右,看自己的開發技能,能為自己帶來多少單子多少收入。
如果你不做任何准備,不經市場測試,腦子一熱就脫離組織,往往會陷入冷啟動的泥沼,腸子悔青。
假如做市場測試時發現收入很低,做不起來,不要氣餒,要看看別人,尤其是和你經驗、水平、身份差不多的人,有沒有做得好的。
比如我寫書,版稅很低,一本賣三五千冊,不賺什麼錢。可是楊開振一本書半年賣 2 萬冊,版稅談得也高,就有很可觀的收入。那這個時候,就要找差距,看怎麼提高。
飽和度測試
自由職業不是不工作,只是不在組織內工作而已,你依然要投入足夠的時間才能創造像樣的產出賺到你想要的錢。
你在單位上班時,老闆們會給你安排事情,你不用考慮工作負荷是否飽和,哪怕你一天到晚沒事兒干,也可以領到一份薪水。自由職業後就不一樣了,你必須主動安排工作,讓自己有足夠的負荷,否則你逍遙自在不了多久就會陷入困境。
飽和度測試就是要讓你提前適應自由職業後自我安排工作的特點,看看你規劃出來准備在自由職業時做的事情,能不能把你的時間填滿。
可以分兩步: 先全力去做,看能不能把你現在的業余時間填滿。假如填不滿,OK,你不用自由職業,就繼續現在的工作,業余時間做你想做的事情,賺一份額外收入就行了。
假如你現在業余時間遠遠不夠用,那估算下到底會佔多少時間,平均每天幾個小時。假如平均每天4個小時,那OK,另外 4 個小時你做什麼?你需要再找點兒事情來填滿它,可以是賺錢的事情,也可以是興趣、愛好、休閑,總之你如果有大把時間無事可干,就會出問題。
預期管理
預期管理包括四個方面:
冷啟動周期。像接項目、寫書、在線課程,都有個回款周期,所以你應該設想一下,你可以承受的無收入的起始階段有多長,並為此准備一些錢,比如你預計周期為 3 個月,那你就要准備上至少夠 3 個月花的錢。
收入預期,最近三年,預期收入達到什麼規模。
時間預期,准備做多久來驗證自己真的可以持續走下去。
成就預期,你打算在哪個方向上取得什麼成就、建立什麼名聲。
B和Z方案
你要設想,萬一你現在規劃的事情,收入不如預期,不能保持你的生活水準,你還准備再做些什麼?這就是你的 B 方案,你要有至少 2 種可以變現的事情。
再設想一下最壞的情況:萬一你無論如何都養不活自己,該怎麼應對,是回單位上班?還是吃存款、繼續硬撐?你一定要提前做好備案,這樣才可以從容應對。
自由職業的自由與焦慮
在這篇文章的開始部分,我們說「你嚮往想干什麼干什麼,想怎麼賺錢怎麼賺錢的生活」,因此你考慮自由職業。但是,真實的自由職業,可能並沒有想像中那麼美好,它有自由,也有不自由;有高收入,也有與自由和不確定性伴生的焦慮。
自由
女兒看牙,時間約到周一下午,沒關系,直接去了,不用請假。復診,約到周五下午,沒關系,直接去了,不用請假。
朋友約見面聊天,周三中午,沒關系,直接去了,不用請假,因為不用考慮上班的事情,聊到幾點是幾點。
今天我累了,就晚點起來,沒關系,不用擔心上班遲到。今天晚上我有興致,可以寫作到凌晨 2 點,沒關系,第二天不用上班。
你看,這就是自由職業最大的好處:擁有安排工作時間的自由。只要你完成任務解決問題,鬼才管你什麼時間工作。
然而,你的自由是建立在自律的基礎上的,你的自由是如何安排自己工作的自由,而不是不工作想干什麼就干什麼的自由(那是財務自由)——因為你要賺錢養活自己。
舉個例子,你答應了客戶周四完成開發交付軟體的第一個版本,結果你周一周二都有事情,代碼沒完成,可以把交付日期更改到下周一嗎?不行!
如果你在單位做事情,可以找上司說:「哎呀老闆,出現了點狀況,是這么這么回事兒,看來這個事情得延期一周才行……」也許這樣老闆就會答應,你就又有了時間。
可是你自由職業後,沒有老闆啊,你得自己維護自己「值得被信任」的形象,得讓你的僱主覺得你「靠譜」。所以,你承諾了就要做到,哪怕熬夜趕出來!
這就是一種不自由。
焦慮
上班最大的一個好處是:不用考慮你要做什麼事情,不用考慮你做的事情能不能創造經濟價值,不管怎樣,你都每月固定拿薪水。只要你在單位待著,哪怕刷一天朋友圈,也有錢拿!這是多麼大的幸福啊!
可是自由職業者就不一樣:不做事就沒錢啊。而且,更尷尬的是,做事也不一定有錢啊。
所以,自由職業者每天都會受不確定性的干擾。譬如我,用了記賬軟體記錄收支,每次看到一大片紅色就焦慮,心裡就琢磨:「 哎呀我的錢什麼時候到賬啊。」 要是看到這個月的支出已經遠超收入,就焦慮得不行,「 哎呀,差這么多啊,下個月能不能補賺回來啊。」
這是你對收入波動性的焦慮,尤其容易出現在剛剛成為自由職業者的時候。
還有第二種焦慮:你做的事情是否能夠持續。
以我為例,我打算每年寫兩本書做兩門課,可是這真的可以嗎?一年、兩年都覺得沒問題啊,但真的可以這樣一直做下去嗎?3 年、5 年、10 年都沒問題嗎?我會一直有主題可寫?會一直有系統的課程可以開發?
狀態好時我覺得這都不成問題,因為既然我之前可以找到話題,將來也一定會有新的話題出現。狀態差的時候就會焦慮:能想到的話題都做差不多了,下一個話題在哪裡啊?萬一明年沒什麼可寫該怎麼辦?
現在,你知道了一切:開發者實現自由職業的 4 種常見方式,5 種必做准備,以及可能的自由和焦慮。你准備開始了嗎?
C. 自學編程學什麼才能接私活
什麼時候能接私活,不單是技術決定的。
和做生意一樣,拉業務要關系網的。
雖然程序員私活,網路一下有一堆平台,但作為新手去接陌生人的單,同行那麼多你覺得他一定把項目給你?給你做就一定會打款?就算有協議,都不一定能保障。
當然你想試,也未嘗不可。
最保險的,還是靠朋友靠熟人推薦,然後發展關系網找業務。這樣及穩定又可靠。
但話說回來,有固定業務來源,那干什麼私活,拉團隊開公司好了。