京东连接:item.jd.com/12575102.ht…html
通过近一年的辛苦创做、编辑、等待,本书终于出版了。这种感受有点像是十月怀胎,但没有生育时候的痛苦,只有最后获得的欣喜。如今回忆起去年接到著书的邀请,而后到纠结,再到刚开始痛苦的写做,以及最后成稿后的释然,一切都以为是一场人生的经历。我却是认为著书的目的不是为了赚钱,写一本书给本身,总结本身的过往,将经验传播给他人,就能够了。git
2017年1月左右,摩拜单车终于进入到成都。不像重庆那样的上山下坡,成都平原地势较平,成都本来就有很是多骑自行车的人,街头巷尾都有自行车的踪迹。做为短途的必要交通工具,摩拜单车的进入算是给出行带来了很是大的方便。github
有一天在查看摩拜单车的APP的时候,突发奇想是否能够将这些车的位置数据拿到,而后尝试分析一下运营情况,看当作都到底有多少车。打开电脑,轻车熟路的进行API分析,搞明白了API的接口,而后就写了一个简单的爬虫,获取了一个月左右的数据并进行了分析。而后在简书上发了几篇文章,并将源代码放在了github.com/derekhe/mob…这个repo中。小程序
出乎意料的是,这些分析竟然获得了很是大的流量,两三天时间就到了1万多的阅读量,甚至这个数据分析还“成功”的引发了对方的注意:被问到你怎么获得数据?架构
2018年,顺着这个思路,后来我又继续分析并爬取了共享汽车、自由职业者网站,并继续坚持将2016年6月开始作的机票的数据爬虫作得更快更稳定。app
2017年底,爱飞狗旅行小程序上线,将我收集到的机票的数据公开,并集成了一个预测系统。知晓小程序对此特地写了一篇文章进行报道。随后,在2018年下半年ThougtWorks对外的YottaBytes分享中,我将爱飞狗的整个产品的规划、开发以及背后的技术实践都分享出来,并写成文章。工具
2018年3月底,电子工业出版社的安娜编辑联系我,看我能不能约一本书稿。当时我还没放在心上,想一想写个书算是一个大工程吧,费时费力的,当时就想一想要不仍是算了?后来和编辑的更多沟通中发现,爬虫方面的书最近还比较热,也能热一段时间,我作的这些工做也刚好和爬虫很是有关。网站
我随后看了一些目前的爬虫相关的书籍, 发现不少爬虫的书籍都写得很初级,讲讲Python的语法、讲讲几个库的用法,弄两个例子就完了,甚至有些书竟然用了76页讲各类东西的安装!!初级的爬虫每每很简单,爬几个网站便可,但更复杂的如何去拿到app的数据,如何破解一些sign的思路,却全然没有。或许是太复杂了吧。即使有些数据拿到手了,怎么分析,怎么可视化,也不多有讲解。插件
若是我要写的话,我必定不会写这样的书,我不会写初级的书。我要写的话,必定是从一个想法开始,到如何实现这个想法,到如何解决各类困难。案例的话,必定是end to end的,将数据达到实用的阶段。3d
还好以前作过的各类数据分析案例,都是有必定的业务背景的,有一些数据提供给了一些爱好者进行了更深刻的分析,有一些数据甚至帮助一些公司进行一些新业务的拓展尝试。我和编辑沟通了这些想法,那就开始动手吧!(其实心里是有点纠结的,由于想到要写很长的时间,很是的难受)
这是最原始的选题单,能够看到其实当时想写的例子其实比如今书中呈现的更多。但后来因为目标网站改动太大,以及有些网站的例子不太合适,因此进行了删减。
最后,只有半年的时间啊……
万事开头难,先写个提纲吧:
工欲善其事必先利其器,2009年写过研究生的论文,却是对Word玩的很溜。但现在都2018年了哟,好歹用点Markdown对吧!
好吧,就用Markdown。可是用Markdown的话,我须要把每一个章节分开么?后来尝试了一下发现,单一Markdown文件就很是利于管理,不用有洁癖同样把东西拆来拆去:
而后,在Visual Studio中安装了Markdown Preview Enhanced插件,这个工具很好:
最后,整个项目固然会用git进行管理,这是最基本的啦。
其中我以为须要拿出来说的是,Markdown中能够直接引用代码。这意味着我一边著书一边写的代码,能够无缝的集成到文章中,这样我更改了代码之后,书中的代码也更新了,避免了不一样步的问题。
如今回顾一下整个过程。
我这我的是喜欢一气呵成作完一件事情。为了保证及时交付,天天都分配了至少两个小时的时间,再加上以前已经有一些素材的积累,因此整个书的书写都相对比较快。基本上在4个月时间内集中写完了书籍。初稿完成后,个人事情就比较少了,主要是一些校对的工做。
在著书的过程当中也有一些不可避免的“坑”。一来是著书不像是写博客那么随意,对于语言以及内容的提供都要有一个监管在里面。运气很差的是初稿交了之后,编辑告诉我2018年国家对地图相关的图片管理很严。我了解到相关的书籍都必需要进行审核,虽说是免费,可是为了不审核的时间消耗和一些潜在的风险,咱们对书中的一些地图相关的图片、内容进行了一些修改和删减。
爬虫这种技术有必定的法律风险,再三考虑之下对书中也有提到一些特定APP名字的地方,咱们将名字进行了打码,并强调了这些思路以及代码都仅供参考。
初稿的反馈说书写的很直白,全是干货,审核后说是要语言柔和一些。因为这个书的架构和其余相似书籍先将一大堆基础知识不同,出版社的领导提议说将书的结构进行调整,变成介绍工具在前,案例在后。但这就是我想尽力避免的,不想让读者的钱花到了本来网上能够很快查到的地方,因此拒绝了。
因为互联网时代变化很快,网站和APP都在改版,因此爬虫相关的代码,目前有些已经没法使用了。这是预料之中的事情,但书中所传递的方法,是通用的。
无论如何,第一本书也算是出来了,放在书架上也是对个人极大地鼓舞。著书不容易,一旦开始就要一气呵成。平时的积累很是重要,因此多多写博客吧。
PS:掘金很奇怪啊,xieshu、chushu(自行脑补)都是关键字,不给发表。只能改个词语了。