2021 年终总结 && 关于我自学爬虫的点滴经历

当你真心想做一件事情的时候,全世界都会帮你!

前言

大家好,我是小孙同学。很庆幸在我 20 岁这年,我遇到了我可以热爱一辈子的东西 —— 代码。

0 和 1 的二进制组合推动着时代的进步,代码中蕴藏着改变世界的能量。

但。。。

但我的学习探索之路并非一帆风顺,甚至是极其曲折。

不过值得骄傲和自豪的是,即便道阻且长,穷且益坚,我也从来没有想过放弃,从来没有想过就此潦草收场。

虽然我仅短短自学了十个月。但一路走来,我遇到过很多倾囊相授的老师,结交了很多志同道合的朋友,感受到了程序的魅力以及程序员世界里良好的开源和社交氛围。

我也小有成就,相继开通了自己的 CSDN,知乎,微信公众号…

也着手搭建了自己的个人网站https://www.sunguoqi.com

申请了自己的 Github 账号https://www.github.com/sun0225SUN

技术上,我现在也可以独立开发一些简单的 web 项目。

https://www.bilibili.com/video/BV15L4y1E7xY

(初次录制,音质很差,真的很抱歉)

编写一些基础的爬虫程序。

在学习期间,我切身体会到了什么叫做站在巨人的肩膀上,也 get 到了为什么图灵社区会把这句话印刻在出版的每一本的书中。

在我学习的过程中,我真的超级超级感激那些直接或者间接帮助过我的人。

所以便有了写这样一个系列文章的计划,以此来记录我学习路上的点滴感动,也借此向每一位帮助过我的老师,同学,朋友们表示感激。

正文

这是第一篇,是关于我自学网络爬虫的经历,我和《Python3 网络爬虫开发实战》这本书的缘分以及和崔庆才老师的微妙点滴。

关于我学习爬虫的经历

我学习一门技术,大概是通过购买相关的技术书籍,啃 B 站上的优质教学课程,查阅技术交流社区里相关的文章,翻阅官方文档,白嫖 Github 开源项目代码等等。

但我学习网络爬虫的道路并没有那么顺利。

关于我和《Python3 网络爬虫开发实战》这本书

我首先是在 B 站上去了解什么是爬虫的脑海里有了相关的轮廓后,就会去找一些优质的书籍来看,电子书纸质书等等。

在选择有关爬虫的书籍时,我发现市场上关于网络爬虫的书并不多,相较于一些什么什么从入门到入土(精通)之类的书真的少太多了。

这为我寻找资料带来了不小的困扰,而且市场上仅有的爬虫相关的书籍,大体上写的都不是很详细(我在没购买之前是通过商品展示页面的书籍目录来看的,那时候还没有意识到学校图书馆这样一个宝藏。当时花了很多冤枉钱,因为买回来的书,发现作者梳理的思路并不适合我来学习,然后翻了两三下就放在书架上吃灰了)

当然,我并不是说这些书写的不好,我是说这些书写的不适合我,或者说不适合现阶段的我。

对于一个初学者来说,高浓缩的概括反而会让我缺乏一个过渡,很容易学着学着就半途而废了。

经过不断的试错和摸爬滚打,我最终最终终于遇到了崔庆才老师写的这本书——《Python3 网络爬虫开发实战》

那时候第二版还没有上市,我买的是第一版,可恨的是我买的还是盗版的,印刷质量很差。

对于盗版我这里就不想多说了,在国内盗版书的畅销在一定程度上的确传播了知识,但这无疑是对知识产权的不尊重和肆意践踏。

《Python3 网络爬虫开发实战》这本书的内容,我敢说比我在市面上看到的任何一本书都要详细,从它的厚度中我们便可以揣测出来。

如果你评价它由于过于照顾初学者而显得臃肿,我觉得在某种角度上也是可以成立的。

作为已经有爬虫经验的人来说,那些基础知识的确没必要讲。(比方说第一版中 python 第三方库的安装整个章节)

但站在初学者的视角,这些所谓的臃肿便是一步一步走向成功之门的阶梯。

我相信崔大也是考虑到了这个问题,才会做的这样一个权衡。

小遗憾

但是第一版我并没有学完,仅仅学到了可以做一个小爬虫的这样一个程度。

由于我买的是盗版书,印刷质量真的有点差,这一定程度上成为了我学习的阻碍。

后来我顺藤摸瓜找到了崔大的个人博客。

https://cuiqingcai.com

我发现崔大的个人博客中有关于《python3 网络爬虫开发实战》的博文专题(应该是先有的博客再有的书吧)。

博文中的内容大体和书上相似,但有一点小小的瑕疵就是 markdown 排版的问题,这也让我稍有膈应。

我现在仍还对盗版书和这个排版耿耿于怀,这也间接导致了我没有学完第一版。(当然也有其他原因,比如我自己的学习计划,时间安排等等)

关于我和《Python3 网络爬虫开发实战》这本书的第二版

由于第一版的铺垫,我添加了崔庆才老师的两个公众号,【进击的 Coder】【崔庆才 | 静觅】,崔大发的每一篇文章我几乎都会看,真的很受用,我也能感受到了崔老师的良苦用心。

因为我基本上每篇文章都会看,所以我经历了[崔大的新书获得了python之父Guido van Rossum的引荐语]——>[新书封面确定]——>[新书内容介绍]——>[第一次给1000本书签名]——>[正式上市]——>[知识星球活动]——>[第二次给1000本书签名]——>[在星球里填写收货信息]——>[每日一催,等待发货]——>[收到包裹,拆箱晒朋友圈]这样一个完整的时间轴。

我记得当时崔大是说能赶上今年的双十一上市销售的,可最后真的就是一拖再拖,11 月 26 号才正式上市的。

上市当天,崔大也做了相应的活动,我看到 99 元加入知识星球送签名书这样一个选项,二话不说就参与了这样一个活动。(我的行为是理智的,因为后面星球的价格涨到了 149 元)

不过加入知识星球的同学赠送的签名书需要崔大再签 1000 本书才可以发货(因为上次签的 1000 本一下子就售空了)

签名之后还需要塑封打包很多流程,我大概又等了半个多月才收到了我的包裹,等待的感觉真的太焦灼啦。

关于《Python3 网络爬虫开发实战》第二版的内容

我看一本书的内容会比较习惯先看他的目录,因为目录是整本书的一个基本架构,就像项目架构一样。

是的,你没有看错,900 多页的内容基本覆盖了爬虫开发的方方面面。

不过由于我也正在学习中,还没有啃完这本书,我现在只能放崔大对第二版内容的一个介绍,等我学完了,我会再写一篇文章的。

https://mp.weixin.qq.com/s/66r5s2I-yX6OzGLRJBI0lg

关于我对崔庆才老师爬虫案例平台 Scrape 的看法

如果你认真阅读了崔大对这本书的内容介绍的话,你会发现一个耀眼的亮点。

Scrape 案例平台

https://scrape.center

这是一个怎样的存在呢?下面是我的理解。

我们都知道学习爬虫,实战是不可或缺的。可如果我们直接爬取现成的网站,会遇到很多问题。

  • 第一、网站改版,代码无法正常运行。

目标网站一旦改版,通过书本上的教程跑出来的代码就无法继续正常运行了,这是一个非常大的问题,也会极大挫败学习者的心态。

  • 第二、对目标网站带来一定的负荷,不良心。

爬虫带来的流量如果过大,就会对其正常的运营造成干扰,我相信我们的出发点都是去学习一门技术,而不是搞破坏浪费资源,这样真的很不良心

  • 第三、不尊重目标网站信息的著作权,易产生纠纷。

我相信网站的开发者,管理者,掌权者都很乐意去共享信息,这是一种无私的开源精神。像豆瓣,百度,高德地图开放平台等等都有提供相应的 API。

可当我们直接对网站进行爬取的时候,自觉不自觉的就进入了一个灰色地带,会造成一些侵权行为,即便有君子协议的存在(robots.txt)

而崔大自己做的案例平台 Scrape 彻底的解决了这些问题。

  • 第一、书籍和案例平台配合,不用担心爬取的目标网站改版。
  • 第二、崔大自己的案例平台,崔大自掏腰包允许任何人来爬。
  • 第三、案例内容不涉及任何商业行为,不会带来任何法律问题。

很大程度上,当我看到 Scrape 这样一个案例平台的时候,我就知道,其他的任何爬虫书,爬虫资料我都不需要了。

关于我阅读《Python3 网络爬虫开发实战》这本书的感觉

见字如面,在读一本书的时候就像是在和书的作者进行交流,我喜欢这种感觉,在读《Python3 网络爬虫开发实战》这本书的时候也是如此。

崔庆才老师的书让我阅读起来很丝滑,因为我也经常写博客,做笔记。我完全可以厘清崔老师写书的思路,从而更加清晰我下一步的学习方向,然后多敲代码,多加练习,从而提升自己的技术能力。

关于崔庆才老师的亲和力

在自学的过程中,我加入过很多学习交流群。有些群里真的是卧虎藏龙,群友们各个都是人才,说话又好听,我超喜欢群里的,和群友们进行交流真的受益匪浅。

崔大也同样运营了这样一个学习交流群。

最最最值得我所钦佩的是,崔大经常在群里为群友们解决问题,这。。。崔大时间这么充裕的么,慕了!(当然我知道崔大有个高仿小号,有时我也分不清哪个是真身)

所以我们可以思考一下,高频度的交流会带来什么?

带来的是崔大的亲和力。

我在阅读书的同时,我还有作者的微信。我和作者发消息,作者不会耍大牌,还会回复我。天呢,这不就是追星追到了的感觉么。

我想成为像崔庆才老师这样的人

在我眼里,崔庆才老师和 Vue.js 的开发者尤雨溪都创造出了令人惊艳的东西。

二位都是明星人物,我是两位大佬的超级粉丝,中国开发者需要这样的领军人物。

袒露心声,我想成为这样的人,为行业,为社会做出力所能及的贡献。虽然很难,任重而道远,但我一定会好好努力的。

总之,可以预见的是崔大的《Python3 网络爬虫开发实战》第二版会引领又一个“全民”学习网络爬虫的浪潮。

正如 python 之父的引荐语所说的一样。

this book will help more people understand Python and web crawling/scraping.

这本书会帮助更多人去学习python和网络爬虫。

I am happy to see that Python is so widely used in the Chinese IT community. I hope this book will help more people understand Python and web crawling/scraping.
—— Guido van Rossum, creator of Python, Distinguished Engineer, Microsoft

后记

最后,我想引用鱼 C 小甲鱼的一段话结束本篇文章。(小甲鱼(李佳宇)也是我编程上的启蒙老师)

我们一直在努力耕耘这么一片简单的土壤,虽然没有达到尽善尽美,但已初见雏形。

十年前我们仰望星空,十年后我们将俯视大地,未来的天空,必将为我们留下一片灿烂的曙光!

我们一直在努力耕耘这么一片简单的土壤,虽然没有达到尽善尽美,但在大家的努力下,已初见雏形,并且在论坛上已经聚拢了很多超厉害的“大牛”!
Fake it till they make it-假装直到真的成功。
最后还是那句话,小甲鱼渴望和大家一起成长,十年前我们仰望星空,十年后我们将俯视大地。未来的天空,必将为我们留下一片灿烂的曙光!
——小甲鱼 2019 年 3 月

愿你我都可以不负人间理想,找到自己的热爱,真心去做一件事情,正如本文标题所言,当你真正想去做一件事情的时候,全世界都会来帮你。