阅读本文大概需要 3 分钟。



 

有了这个案例平台的加持,其实可以解决很多问题:

  • 第一个就是能解决案例过期的问题。做爬虫的过程中大家遇到最烦的事情可能就是代码跑不通了,我的第一版爬虫书就面临着这样的问题,现在很多读者向我反馈说代码和书上写的是一模一样的,但是就是跑不出结果,经过我的排查,原因就是对应的网站改版了,导致原本的爬虫代码不能正常运行了。这个问题很让人头疼,但我也没啥办法,谁让我爬取的网站是别人的呢?但现在如果有了我自建的案例平台,我就能控制整个案例的稳定性,保证案例不会改版,这样就能保证代码长久稳定运行了。
  • 第二个是避免一些不必要的麻烦。我们做爬虫的时候是需要相对注意一下,比如说得控制下爬取频率,不能把目标网站爬挂了,另外还有很多数据属于商业用途数据或敏感数据,这种如果爬下来也能会招来一些不必要的麻烦。但有了这个案例平台就不用担心了,我也不用担心我拿某个网站做案例教学引来额外问题,大家也可以放心大胆地爬取,即使爬挂了我也不会怪大家的哈哈,爬挂了说明我这个案例平台做的还不够健壮。
  • 第三是避免一些洗稿或抄袭的问题。之前我也写过不少爬虫相关文章了,文章中用某个网站做了示例,但过了段时间,我就在网上发现了和我的文章几乎相同的文章,代码和思路几乎也完全一样,只是一些说法变了变,然后还标注了原创。另外还有的机构把我的文章录制成视频教学。这其实就让我感到比较头疼,我似乎也没有确凿的证据。但有了案例平台,应该就会避免很多这样的问题。

嗯,总之,这个案例平台我个人觉得还是挺有益处的。

然而,开发和维护这个案例平台其实也给我带来了不小的挑战。

在开发过程中,我可能需要做这些工作:

  • 梳理好所有想要讲的知识点并将其分类,这些知识点有的来源于爬虫的基础原理,有的来源于生产实践。比如说 JavaScript 逆向的网站,一些 JavaScript 混淆思路就是在做一些逆向的过程中发现的。
  • 对于一个知识点,我需要思考怎样以最简洁明了的案例把该知识点呈现出来。比如说,对于代理反爬的网站,我需要自己把检测代理频率的机制实现出来。

在维护过程中,我可能需要做这些工作:

  • 我需要保证站点的高可用性,因为这个就是专门为大家练习爬虫用的,爬虫一运行,这个流量就上来了,我需要保证这个网站能扛得住这么高的并发,比如说几千甚至上万。这背后就有一些缓存、自动扩容、监控报警等等机制来保证。
  • 对于这么多案例,我需要便捷地实现站点的更新和快捷部署。比如说,我有一个地方逻辑写错了,我修改之后能够方便地更新到线上。

总之,整个开发和维护过程其实遇到的挑战还是蛮大的。

现在也有不少朋友问我这个平台是怎么搭建的,背后都有什么技术,怎么保证扛住高并发的,怎么实现的监控和报警等等。

直播

为了让大家对整个案例平台有更全面的了解,我决定明天 - 2021 年 12 月 12 日 晚上 8 点进行一次直播,来专门讲讲这个案例平台是怎么建成的,具体的内容包括但不限于:

  • 为什么要做这个案例平台
  • 案例平台的基本介绍
  • 各个案例知识点的实现原理,如:
  • 怎样检测代理频率过高并封禁 IP
  • 怎样实现 WebDriver 检测
  • 怎样实现 WebAssembly 案例
  • 怎样实现验证码案例
  • 怎样实现 JavaScript 页面混淆
  • 怎样实现 App 的代理检测
  • 怎样实现 App 的 SSL Pinning 检测
  • 怎样实现 App 的 Native 层调用
  • 基于怎样的技术管理和部署整个案例平台
  • 怎样实现案例平台通用域名解析
  • 怎样构建免费通用二级域名证书
  • 怎样实现案例平台的自动化部署
  • 怎样实现案例平台的高可用,如:
  • 缓存的使用
  • 自动扩容的配置
  • 虚拟节点 / Serverless
  • 怎样实现每个案例的资源监控
  • 案例平台的访问加速
  • 案例平台的流量统计
  • 案例平台挂了如何实现报警通知