心路歷程:爬蟲實戰(zhàn)——從數(shù)據(jù)到產(chǎn)品

京東鏈接:https://item.jd.com/12575102.html

經(jīng)過近一年的辛苦創(chuàng)作咱圆、編輯盯孙、等待卦羡,本書終于出版了。這種感覺有點像是十月懷胎麦到,但沒有生育時候的痛苦绿饵,只有最后得到的欣喜。現(xiàn)在回憶起去年接到寫書的邀請瓶颠,然后到糾結(jié)拟赊,再到剛開始痛苦的寫作,以及最后成稿后的釋然粹淋,一切都覺得是一場人生的經(jīng)歷吸祟。我倒是認(rèn)為寫書的目的不是為了賺錢,寫一本書給自己桃移,總結(jié)自己的過往屋匕,將經(jīng)驗傳播給他人,就可以了借杰。

故事——還得從2017年說起

2017年1月左右过吻,摩拜單車終于進(jìn)入到成都。不像重慶那樣的上山下坡蔗衡,成都平原地勢較平纤虽,成都原本就有非常多騎自行車的人,街頭巷尾都有自行車的蹤影绞惦。作為短途的必要交通工具逼纸,摩拜單車的進(jìn)入算是給出行帶來了非常大的方便。

有一天在查看摩拜單車的APP的時候济蝉,突發(fā)奇想是否可以將這些車的位置數(shù)據(jù)拿到杰刽,然后嘗試分析一下運(yùn)營狀況菠发,看看成都到底有多少車。打開電腦专缠,輕車熟路的進(jìn)行API分析雷酪,搞明白了API的接口,然后就寫了一個簡單的爬蟲涝婉,獲取了一個月左右的數(shù)據(jù)并進(jìn)行了分析哥力。然后在簡書上發(fā)了幾篇文章,并將源代碼放在了https://github.com/derekhe/mobike-crawler這個repo中墩弯。

image.png

出乎意料的是吩跋,這些分析居然得到了非常大的流量,兩三天時間就到了1萬多的閱讀量渔工,甚至這個數(shù)據(jù)分析還“成功”的引起了對方的注意:被問到你怎么得到數(shù)據(jù)锌钮?

2018年

2018年,順著這個思路引矩,后來我又繼續(xù)分析并爬取了共享汽車梁丘、自由職業(yè)者網(wǎng)站,并繼續(xù)堅持將2016年6月開始做的機(jī)票的數(shù)據(jù)爬蟲做得更快更穩(wěn)定旺韭。

image.png

2017年末氛谜,愛飛狗旅行小程序上線,將我收集到的機(jī)票的數(shù)據(jù)公開区端,并集成了一個預(yù)測系統(tǒng)值漫。知曉小程序?qū)Υ颂匾鈱懥艘黄恼逻M(jìn)行報道。隨后织盼,在2018年下半年ThougtWorks對外的YottaBytes分享中杨何,我將愛飛狗的整個產(chǎn)品的規(guī)劃、開發(fā)以及背后的技術(shù)實踐都分享出來沥邻,并寫成文章危虱。

寫書?

2018年3月底谋国,電子工業(yè)出版社的安娜編輯聯(lián)系我槽地,看我能不能約一本書稿。當(dāng)時我還沒放在心上芦瘾,想想寫個書算是一個大工程吧捌蚊,費(fèi)時費(fèi)力的,當(dāng)時就想想要不還是算了近弟?后來和編輯的更多溝通中發(fā)現(xiàn)缅糟,爬蟲方面的書最近還比較熱,也能熱一段時間祷愉,我做的這些工作也恰好和爬蟲非常有關(guān)窗宦。

我隨后看了一些目前的爬蟲相關(guān)的書籍赦颇, 發(fā)現(xiàn)很多爬蟲的書籍都寫得很初級,講講Python的語法赴涵、講講幾個庫的用法媒怯,弄兩個例子就完了,甚至有些書居然用了76頁講各種東西的安裝K璐堋扇苞!初級的爬蟲往往很簡單,爬幾個網(wǎng)站即可寄纵,但更復(fù)雜的如何去拿到app的數(shù)據(jù)鳖敷,如何破解一些sign的思路,卻全然沒有程拭《猓或許是太復(fù)雜了吧。即便有些數(shù)據(jù)拿到手了恃鞋,怎么分析崖媚,怎么可視化,也很少有講解恤浪。

如果我要寫的話至扰,我一定不會寫這樣的書,我不會寫初級的書资锰。我要寫的話,一定是從一個想法開始阶祭,到如何實現(xiàn)這個想法绷杜,到如何解決各種困難。案例的話濒募,一定是end to end的鞭盟,將數(shù)據(jù)達(dá)到實用的階段。

還好之前做過的各種數(shù)據(jù)分析案例瑰剃,都是有一定的業(yè)務(wù)背景的齿诉,有一些數(shù)據(jù)提供給了一些愛好者進(jìn)行了更深入的分析,有一些數(shù)據(jù)甚至幫助一些公司進(jìn)行一些新業(yè)務(wù)的拓展嘗試晌姚。我和編輯溝通了這些想法粤剧,那就開始動手吧!(其實內(nèi)心是有點糾結(jié)的挥唠,因為想到要寫很長的時間抵恋,非常的難受)

那就開始吧

這是最原始的選題單,可以看到其實當(dāng)時想寫的例子其實比現(xiàn)在書中呈現(xiàn)的更多宝磨。但后來由于目標(biāo)網(wǎng)站改動太大弧关,以及有些網(wǎng)站的例子不太合適盅安,所以進(jìn)行了刪減。

最后世囊,只有半年的時間啊……

萬事開頭難别瞭,先寫個提綱吧:

開始

工欲善其事必先利其器,2009年寫過研究生的論文株憾,倒是對Word玩的很溜。但如今都2018年了喲号胚,好歹用點Markdown對吧!

好吧猫胁,就用Markdown。但是用Markdown的話弃秆,我需要把每個章節(jié)分開么届惋?后來嘗試了一下發(fā)現(xiàn),單一Markdown文件就非常利于管理脑豹,不用有潔癖一樣把東西拆來拆去:

  • 方便預(yù)覽整書情況
  • 方便章節(jié)之間相互引用
  • 避免調(diào)整章節(jié)時候的麻煩事

然后,在Visual Studio中安裝了Markdown Preview Enhanced插件瘩欺,這個工具很好:

  • 自動預(yù)覽
  • 自動生成目錄
  • 自動內(nèi)嵌圖片、內(nèi)嵌代碼
  • 能夠?qū)С龀啥喾N格式(Word格式拌牲、PDF格式等)

最后俱饿,整個項目當(dāng)然會用git進(jìn)行管理,這是最基本的啦塌忽。

其中我覺得需要拿出來講的是,Markdown中可以直接引用代碼枣购。這意味著我一邊寫書一邊寫的代碼,可以無縫的集成到文章中棉圈,這樣我更改了代碼以后眷蜓,書中的代碼也更新了,避免了不同步的問題账磺。

一年

現(xiàn)在回顧一下整個出書的歷程痊远。

我這個人是喜歡一鼓作氣做完一件事情氏捞。為了保證及時交付,每天都分配了至少兩個小時的時間液茎,再加上之前已經(jīng)有一些素材的積累,所以整個書的書寫都相對比較快滞造。基本上在4個月時間內(nèi)集中寫完了書籍谒养。初稿完成后明郭,我的事情就比較少了,主要是一些校對的工作薯定。

  • 4月底:建立Repo
  • 5月初:書寫第一章
  • 6月初:完成單車部分書寫
  • 6月底:完成共享汽車部分書寫
  • 7月底:完成Freelancer部分書寫
  • 8月初:增加愛飛狗產(chǎn)品
  • 9月底:完成所有書寫,并轉(zhuǎn)換成docx供編輯修改
  • 10月初——12月底 一排
  • 12月底到1月初: 二排亏推,拿到書號
  • 2月底:終審
  • 3月中:封面、查重年堆、定價
  • 3月底:樣書到

經(jīng)驗

  • 持續(xù)和編輯聯(lián)系径簿,寫完一章就給編輯大致看看得到反饋
    這一點避免了很多走彎路嘀韧。第一次寫書缠捌,對寫書需要做的事情了解的比較少,加之平時在敏捷項目中都強(qiáng)調(diào)快速反饋曼月,在寫書過程中也是,能夠及時避免一些坑炎辨。
  • 一鼓作氣聪姿,堅持每天花些時間寫乙嘀,避免拖拉
  • 長期寫博客破喻,積累素材

在寫書的過程中也有一些不可避免的“坑”。一來是寫書不像是寫博客那么隨意曹质,對于語言以及內(nèi)容的提供都要有一個監(jiān)管在里面。運(yùn)氣不好的是初稿交了以后几莽,編輯告訴我2018年國家對地圖相關(guān)的圖片管理很嚴(yán)宅静。我了解到相關(guān)的書籍都必須要進(jìn)行審核,雖然說是免費(fèi)坏为,但是為了避免審核的時間消耗和一些潛在的風(fēng)險,我們對書中的一些地圖相關(guān)的圖片洒忧、內(nèi)容進(jìn)行了一些修改和刪減够颠。

爬蟲這種技術(shù)有一定的法律風(fēng)險熙侍,再三考慮之下對書中也有提到一些特定APP名字的地方履磨,我們將名字進(jìn)行了打碼,并強(qiáng)調(diào)了這些思路以及代碼都僅供參考巷送。

初稿的反饋說書寫的很直白矛辕,全是干貨,審核后說是要語言柔和一些聊品。由于這個書的架構(gòu)和其他類似書籍先將一大堆基礎(chǔ)知識不一樣,出版社的領(lǐng)導(dǎo)提議說將書的結(jié)構(gòu)進(jìn)行調(diào)整陈哑,變成介紹工具在前,案例在后惊窖。但這就是我想盡力避免的,不想讓讀者的錢花到了原本網(wǎng)上可以很快查到的地方纠屋,所以拒絕了盾计。

由于互聯(lián)網(wǎng)時代變化很快,網(wǎng)站和APP都在改版署辉,所以爬蟲相關(guān)的代碼,目前有些已經(jīng)無法使用了哥攘。這是預(yù)料之中的事情材鹦,但書中所傳遞的方法,是通用的桶唐。

總結(jié)

不管如何,第一本書也算是出來了尤泽,放在書架上也是對我的極大地鼓舞。寫書不容易熊咽,一旦開始就要一鼓作氣闹丐。平時的積累非常重要,所以多多寫博客吧卿拴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末巍棱,一起剝皮案震驚了整個濱河市蛋欣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌陷虎,老刑警劉巖杠袱,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窝稿,死亡現(xiàn)場離奇詭異,居然都是意外死亡纹蝴,警方通過查閱死者的電腦和手機(jī)踪少,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兼犯,“玉大人集漾,你說我怎么就攤上這事【咂” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵险领,是天一觀的道長秒紧。 經(jīng)常有香客問我,道長熔恢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任秤掌,我火速辦了婚禮鹰霍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘孟岛。我一直安慰自己,他們只是感情好渠羞,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著荧恍,像睡著了一般屯吊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雌芽,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天世落,我揣著相機(jī)與錄音淮腾,去河邊找鬼屉佳。 笑死,一個胖子當(dāng)著我的面吹牛圆凰,可吹牛的內(nèi)容都是我干的体箕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼累铅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了菇民?” 一聲冷哼從身側(cè)響起投储,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娇掏,沒想到半個月后勋眯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壁涎,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡志秃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年嚼酝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钧舌。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡涎跨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出隅很,到底是詐尸還是另有隱情,我是刑警寧澤屋彪,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布绒尊,位于F島的核電站,受9級特大地震影響婴谱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谭羔,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一口糕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧景描,春花似錦、人聲如沸向族。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夜矗。三九已至泛范,卻和暖如春紊撕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背对扶。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工浪南, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人络凿。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓絮记,卻偏偏與公主長得像各谚,于是被迫代替她去往敵國和親到千。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359