本项目为一个使用Golang语言开发的爬虫应用,旨在获取QQ表情包网站的表情包资源并保存到本地。
- 采集QQ表情包网站的表情包列表目录和链接
- 采集每个表情包的图片链接并进行下载保存
- Golang语言
- colly库
- goquery库
|-- colly
|--colly_emoticon.go
|-- main.go
|-- README.md
- main.go:爬虫主程序入口
- downloader.go:实现了图像下载逻辑
- config.ini:配置文件
在爬取QQ表情包网站时,我们遇到了反爬机制和大量的图像资源处理问题。因此,我们采用了以下细节处理方式:
- 设置了用户代理和限速等操作,以避免网站的反爬机制。我们选用colly库作为爬虫框架,使用UserAgent和LimitRule对爬虫进行了设置。
- 使用了协程调度和异步请求技术,提高了爬虫代码的并发性能和效率。
- 为了防止下载的图像数据被破坏或出现乱码,我们使用了bufio, io和os等库对文件进行处理,确保数据的完整性和稳定性。
- 在下载图像文件时,为了防止目录重名导致覆盖数据,我们在程序中加入了动态目录的创建逻辑,为每个主题目录创建了唯一的目录名称。
通过参与这个项目,我加深了自己对Golang语言和爬虫技术的理解,并且学习了Golang的colly库和goquery库的使用方法,了解了异步编程和协程调度的基本原理。我还掌握了如何使用细节处理来应对在爬虫过程中遇到的