“
阅读本文大概需要 3 分钟。
”大家好,我是崔庆才。
最近我的《Python3网络爬虫开发实战(第二版)》书上市了。这本书是第二版,相比第一版来说,一个很大的不同就是第二版书里面的案例全都是基于自建的案例平台讲解的。
这里就来说下这个案例平台吧,案例平台的地址是 https://scrape.center/,这里面包含了很多爬虫相关的练习案例,包括基本的无反爬练习案例、Ajax 分析案例、JavaScript 逆向案例、验证码案例、代理检测案例、账号异常访问封禁案例、WebDriver 检测案例、WebAssembly 案例、WebSocket 案例、HTTP/2.0 案例、App 基本案例、App 逆向案例等等,一共五十多个,覆盖了学习爬虫过程中的绝大部分知识点。
案例平台首页截图如下:
![36b399a43de4f4bf9c78b426e0146df8.png](https://i-blog.csdnimg.cn/blog_migrate/d3295403e39706b08b1723fe8fef749a.png)
有了这个案例平台的加持,其实可以解决很多问题:
第一个就是能解决案例过期的问题。做爬虫的过程中大家遇到最烦的事情可能就是代码跑不通了,我的第一版爬虫书就面临着这样的问题,现在很多读者向我反馈说代码和书上写的是一模一样的,但是就是跑不出结果,经过我的排查,原因就是对应的网站改版了,导致原本的爬虫代码不能正常运行了。这个问题很让人头疼,但我也没啥办法,谁让我爬取的网站是别人的呢?但现在如果有了我自建的案例平台,我就能控制整个案例的稳定性,保证案例不会改版,这样就能保证代码长久稳定运行了。
第二个是避免一些不必要的麻烦。我们做爬虫的时候是需要相对注意一下,比如说得控制下爬取频率,不能把目标网站爬挂了,另外还有很多数据属于商业用途数据或敏感数据,这种如果爬下来也能会招来一些不必要的麻烦。但有了这个案例平台就不用担心了,我也不用担心我拿某个网站做案例教学引来额外问题,大家也可以放心大胆地爬取,即使爬挂了我也不会怪大家的哈哈,爬挂了说明我这个案例平台做的还不够健壮。
第三是避免一些洗稿或抄袭的问题。之前我也写过不少爬虫相关文章了,文章中用某个网站做了示例,但过了段时间,我就在网上发现了和我的文章几乎相同的文章,代码和思路几乎也完全一样,只是一些说法变了变,然后还标注了原创。另外还有的机构把我的文章录制成视频教学。这其实就让我感到比较头疼,我似乎也没有确凿的证据。但有了案例平台,应该就会避免很多这样的问题。
嗯,总之,这个案例平台我个人觉得还是挺有益处的。
然而,开发和维护这个案例平台其实也给我带来了不小的挑战。
在开发过程中,我可能需要做这些工作:
梳理好所有想要讲的知识点并将其分类,这些知识点有的来源于爬虫的基础原理,有的来源于生产实践。比如说 JavaScript 逆向的网站,一些 JavaScript 混淆思路就是在做一些逆向的过程中发现的。
对于一个知识点,我需要思考怎样以最简洁明了的案例把该知识点呈现出来。比如说,对于代理反爬的网站,我需要自己把检测代理频率的机制实现出来。
在维护过程中,我可能需要做这些工作:
我需要保证站点的高可用性,因为这个就是专门为大家练习爬虫用的,爬虫一运行,这个流量就上来了,我需要保证这个网站能扛得住这么高的并发,比如说几千甚至上万。这背后就有一些缓存、自动扩容、监控报警等等机制来保证。
对于这么多案例,我需要便捷地实现站点的更新和快捷部署。比如说,我有一个地方逻辑写错了,我修改之后能够方便地更新到线上。
总之,整个开发和维护过程其实遇到的挑战还是蛮大的。
现在也有不少朋友问我这个平台是怎么搭建的,背后都有什么技术,怎么保证扛住高并发的,怎么实现的监控和报警等等。
直播
为了让大家对整个案例平台有更全面的了解,我决定明天 - 2021 年 12 月 12 日 晚上 8 点进行一次直播,来专门讲讲这个案例平台是怎么建成的,具体的内容包括但不限于:
为什么要做这个案例平台
案例平台的基本介绍
各个案例知识点的实现原理,如:
怎样检测代理频率过高并封禁 IP
怎样实现 WebDriver 检测
怎样实现 WebAssembly 案例
怎样实现验证码案例
怎样实现 JavaScript 页面混淆
怎样实现 App 的代理检测
怎样实现 App 的 SSL Pinning 检测
怎样实现 App 的 Native 层调用
基于怎样的技术管理和部署整个案例平台
怎样实现案例平台通用域名解析
怎样构建免费通用二级域名证书
怎样实现案例平台的自动化部署
怎样实现案例平台的高可用,如:
缓存的使用
自动扩容的配置
虚拟节点 / Serverless
怎样实现每个案例的资源监控
案例平台的访问加速
案例平台的流量统计
案例平台挂了如何实现报警通知
先大致列这么多吧,更多的问题大家可以问到了再继续解答。
直播平台
到时候我应该会在三个平台直播,分别是微信视频号、B站、斗鱼。
微信视频号
「图灵社区」
微信扫一扫预约
B站
图灵社区官方账号:https://live.bilibili.com/22286127
扫码直达
斗鱼
我的个人斗鱼账号:https://www.douyu.com/cuiqingcai
扫码直达
明晚(12 月 12 日)晚上 8 点哈,我们不见不散~
点个在看,招呼大伙一起看崔庆才直播!