18、依赖管理:Go Module 用法与原理你好,我是郑建勋。 由于项目一开始就需要涉及到依赖的管理,因此在下一节课正式书写项目代码前,我们先来看一看和依赖管理的一些重要知识。 我们知道,一个大型程序会引入大量必要的第三方库,这就让这个程序形成了复杂的依赖关系网络。这种复杂性可能引发一系列问题...2025-12-13Go进阶-分布式爬虫实战
19、从正则表达式到CSS选择器:4种网页文本处理手段你好,我是郑建勋。 在上一节课程中,我们了解了Go Modules依赖管理的使用方法和原理,这有助于我们在后期管理项目的复杂依赖。我之所以提前介绍依赖管理,是因为新项目一开始一般就会通过go mod init初始化当前项目的module名。 我们之前...2025-12-13Go进阶-分布式爬虫实战
20、面向组合:接口的使用场景与底层原理你好,我是郑建勋。 在上一节课,我们讲解了文本处理技术。进行文本处理时,我们使用了函数的封装来完成过程的抽象,函数是一种复用代码、帮助我们构建大规模程序的利器。这节课,让我们来看一看另一种可以构建大规模程序的技术:接口。 Go接口及其优势在计算机科学...2025-12-13Go进阶-分布式爬虫实战
21、采集引擎:实战接口抽象与模拟浏览器访问你好,我是郑建勋。 我们知道,接口是实现功能模块化、构建复杂程序强有力的手段。在上一节课,我介绍了接口的最佳实践和原理。这一节课,让我们在爬虫程序中实战接口,对采集引擎完成接口抽象。 接口抽象在[第19讲],我们已经将爬取网站信息的代码封装为了fet...2025-12-13Go进阶-分布式爬虫实战
22、优雅地离场: Context超时控制与原理你好,我是郑建勋。 在Go语言的圈子里有一句名言: Never start a goroutine without knowing how it will stop。 意思是,如果你不知道协程如何退出,就不要使用它。 如果想要正确并优雅地退出协程...2025-12-13Go进阶-分布式爬虫实战
23、偷梁换柱:为爬虫安上代理的翅膀你好,我是郑建勋。 在任何爬虫系统中,使用代理都是不可或缺的功能。代理是指在客户端和服务器之间路由流量的服务,用于实现系统安全、负载均衡等功能。在爬虫项目中,代理服务器常常扮演着重要的角色,它能帮助我们突破服务器带来的限制和封锁,达到正常抓取数据的目...2025-12-13Go进阶-分布式爬虫实战