- 学习并使⽤go module进⾏第三⽅库的安装
- 了解http协议和web的⼯作原理
- 静态数据与动态数据的爬取
- 学习使⽤关系型数据库,如:MySQL(面向大二同学)
爬取福州大学通知、文件系统(https://info22.fzu.edu.cn/lm_list.jsp?wbtreeid=1460)
- 包含发布时间,作者,标题以及正文。
- 可自动翻页(爬虫可以自动对后续页面进行爬取,而不需要我们指定第几页)
- 范围:2020年1月1号 - 2021年9月1号(不要爬太多了)。
- 使用并发爬取,同时给出加速比(加速比:相较于普通爬取,快了多少倍)
- 搜集每个通知的访问人数
- 将爬取的数据存入数据库,原生SQL或ORM映射都可以
- 全部评论,包含子评论
- 给出Bilibili爬虫检测阈值(请求频率高于这个阈值将会被ban。也可以是你被封时的请求频率)
- 给出爬取的流程图,使用mermaid或者excalidraw
- 给出接口返回的json中每个参数所代表的意义
-
请求库
net/http
-
解析库
github.com/PuerkitoBio/goquery
github.com/antchfx/htmlquery
re
-
数据库驱动
github.com/go-sql-driver/mysql
-
抓包:Fiddler、Proxyman、Charles、浏览器F12自带的网络抓包等
-
Go Module : https://www.bilibili.com/video/BV1w64y197wo?spm_id_from=333.999.0.0
-
国内代理:https://goproxy.cn/
-
B站黑马程序员Go爬虫:https://www.bilibili.com/video/BV1Nt411H7sP?p=1
-
Go爬虫知识总结:https://blog.csdn.net/weixin_45304503/article/details/120390989
-
Go爬虫基础系列文章:
-
Go语⾔中⽂⽹:https://studygolang.com
-
深入浅出BloomFilter原理:https://zhuanlan.zhihu.com/p/140545941
- 本次考核难度较大,请尽早开始学习
- 已经完成的同学可以先预习⼀下gin和RESTful API以及数据库
- 请多多参考网络资料,爬虫部分网络资料非常多
- 了解爬虫原理与网页结构(不需要了解太深)
- 根据参考中给的几个库,查找对应的使用方法
- 选择合适的库,或者择取其他你认为更优秀的库,来编写爬虫程序