心路历程:爬虫实战——从数据到产品

京东链接:https://item.jd.com/12575102.html

经过近一年的辛苦创作、编辑、等待,本书终于出版了。这种感觉有点像是十月怀胎,但没有生育时候的痛苦,只有最后得到的欣喜。现在回忆起去年接到写书的邀请,然后到纠结,再到刚开始痛苦的写作,以及最后成稿后的释然,一切都觉得是一场人生的经历。我倒是认为写书的目的不是为了赚钱,写一本书给自己,总结自己的过往,将经验传播给他人,就可以了。

故事——还得从2017年说起

2017年1月左右,摩拜单车终于进入到成都。不像重庆那样的上山下坡,成都平原地势较平,成都原本就有非常多骑自行车的人,街头巷尾都有自行车的踪影。作为短途的必要交通工具,摩拜单车的进入算是给出行带来了非常大的方便。

有一天在查看摩拜单车的APP的时候,突发奇想是否可以将这些车的位置数据拿到,然后尝试分析一下运营状况,看看成都到底有多少车。打开电脑,轻车熟路的进行API分析,搞明白了API的接口,然后就写了一个简单的爬虫,获取了一个月左右的数据并进行了分析。然后在简书上发了几篇文章,并将源代码放在了https://github.com/derekhe/mobike-crawler这个repo中。

image.png

出乎意料的是,这些分析居然得到了非常大的流量,两三天时间就到了1万多的阅读量,甚至这个数据分析还“成功”的引起了对方的注意:被问到你怎么得到数据?

2018年

2018年,顺着这个思路,后来我又继续分析并爬取了共享汽车、自由职业者网站,并继续坚持将2016年6月开始做的机票的数据爬虫做得更快更稳定。

image.png

2017年末,爱飞狗旅行小程序上线,将我收集到的机票的数据公开,并集成了一个预测系统。知晓小程序对此特意写了一篇文章进行报道。随后,在2018年下半年ThougtWorks对外的YottaBytes分享中,我将爱飞狗的整个产品的规划、开发以及背后的技术实践都分享出来,并写成文章。

写书?

2018年3月底,电子工业出版社的安娜编辑联系我,看我能不能约一本书稿。当时我还没放在心上,想想写个书算是一个大工程吧,费时费力的,当时就想想要不还是算了?后来和编辑的更多沟通中发现,爬虫方面的书最近还比较热,也能热一段时间,我做的这些工作也恰好和爬虫非常有关。

我随后看了一些目前的爬虫相关的书籍, 发现很多爬虫的书籍都写得很初级,讲讲Python的语法、讲讲几个库的用法,弄两个例子就完了,甚至有些书居然用了76页讲各种东西的安装!!初级的爬虫往往很简单,爬几个网站即可,但更复杂的如何去拿到app的数据,如何破解一些sign的思路,却全然没有。或许是太复杂了吧。即便有些数据拿到手了,怎么分析,怎么可视化,也很少有讲解。

如果我要写的话,我一定不会写这样的书,我不会写初级的书。我要写的话,一定是从一个想法开始,到如何实现这个想法,到如何解决各种困难。案例的话,一定是end to end的,将数据达到实用的阶段。

还好之前做过的各种数据分析案例,都是有一定的业务背景的,有一些数据提供给了一些爱好者进行了更深入的分析,有一些数据甚至帮助一些公司进行一些新业务的拓展尝试。我和编辑沟通了这些想法,那就开始动手吧!(其实内心是有点纠结的,因为想到要写很长的时间,非常的难受)

那就开始吧

这是最原始的选题单,可以看到其实当时想写的例子其实比现在书中呈现的更多。但后来由于目标网站改动太大,以及有些网站的例子不太合适,所以进行了删减。

最后,只有半年的时间啊……

万事开头难,先写个提纲吧:

开始

工欲善其事必先利其器,2009年写过研究生的论文,倒是对Word玩的很溜。但如今都2018年了哟,好歹用点Markdown对吧!

好吧,就用Markdown。但是用Markdown的话,我需要把每个章节分开么?后来尝试了一下发现,单一Markdown文件就非常利于管理,不用有洁癖一样把东西拆来拆去:

  • 方便预览整书情况
  • 方便章节之间相互引用
  • 避免调整章节时候的麻烦事

然后,在Visual Studio中安装了Markdown Preview Enhanced插件,这个工具很好:

  • 自动预览
  • 自动生成目录
  • 自动内嵌图片、内嵌代码
  • 能够导出成多种格式(Word格式、PDF格式等)

最后,整个项目当然会用git进行管理,这是最基本的啦。

其中我觉得需要拿出来讲的是,Markdown中可以直接引用代码。这意味着我一边写书一边写的代码,可以无缝的集成到文章中,这样我更改了代码以后,书中的代码也更新了,避免了不同步的问题。

一年

现在回顾一下整个出书的历程。

我这个人是喜欢一鼓作气做完一件事情。为了保证及时交付,每天都分配了至少两个小时的时间,再加上之前已经有一些素材的积累,所以整个书的书写都相对比较快。基本上在4个月时间内集中写完了书籍。初稿完成后,我的事情就比较少了,主要是一些校对的工作。

  • 4月底:建立Repo
  • 5月初:书写第一章
  • 6月初:完成单车部分书写
  • 6月底:完成共享汽车部分书写
  • 7月底:完成Freelancer部分书写
  • 8月初:增加爱飞狗产品
  • 9月底:完成所有书写,并转换成docx供编辑修改
  • 10月初——12月底 一排
  • 12月底到1月初: 二排,拿到书号
  • 2月底:终审
  • 3月中:封面、查重、定价
  • 3月底:样书到

经验

  • 持续和编辑联系,写完一章就给编辑大致看看得到反馈
    这一点避免了很多走弯路。第一次写书,对写书需要做的事情了解的比较少,加之平时在敏捷项目中都强调快速反馈,在写书过程中也是,能够及时避免一些坑。
  • 一鼓作气,坚持每天花些时间写,避免拖拉
  • 长期写博客,积累素材

在写书的过程中也有一些不可避免的“坑”。一来是写书不像是写博客那么随意,对于语言以及内容的提供都要有一个监管在里面。运气不好的是初稿交了以后,编辑告诉我2018年国家对地图相关的图片管理很严。我了解到相关的书籍都必须要进行审核,虽然说是免费,但是为了避免审核的时间消耗和一些潜在的风险,我们对书中的一些地图相关的图片、内容进行了一些修改和删减。

爬虫这种技术有一定的法律风险,再三考虑之下对书中也有提到一些特定APP名字的地方,我们将名字进行了打码,并强调了这些思路以及代码都仅供参考。

初稿的反馈说书写的很直白,全是干货,审核后说是要语言柔和一些。由于这个书的架构和其他类似书籍先将一大堆基础知识不一样,出版社的领导提议说将书的结构进行调整,变成介绍工具在前,案例在后。但这就是我想尽力避免的,不想让读者的钱花到了原本网上可以很快查到的地方,所以拒绝了。

由于互联网时代变化很快,网站和APP都在改版,所以爬虫相关的代码,目前有些已经无法使用了。这是预料之中的事情,但书中所传递的方法,是通用的。

总结

不管如何,第一本书也算是出来了,放在书架上也是对我的极大地鼓舞。写书不容易,一旦开始就要一鼓作气。平时的积累非常重要,所以多多写博客吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342