“我的Go+语言初体验” | 征文活动进行中…


文章目录






项目初始化
​go+​​vscode​​goland​
​.gop​

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_原力计划

  • 写入hello world 测试能否跑通

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_原力计划_02

但是会出错

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_mysql_03

这里提示gop.mod没有找到!

​gop mod​​gop mod​
​go mod​

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_mysql_04

​gop mod​

然后我们继续跑一下!

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_原力计划_05

​builtin​

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_原力计划_06

之后就可以跑出来了

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_android_07

那我们用Go+写一个爬虫吧!

1. 找到blink
​新版​

我们就找到了

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_开发语言_08

2. 分析页面

我们发现并没有相应的接口显示评论,所以我们点击更多之后我的Go+语言初体验——用Go+写个爬虫并进行数据处理_mysql_09

就会出现这个了,这个就是我们的爬取地址了!

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_开发语言_10

​url​

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_原力计划_11

然后我们看响应参数!

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_原力计划_12


  • pageNum就是页码
  • pageSize就是页面大小
  • blinkId就是这个blink的id了

​pageNum=1​​pageSize=500​

舒服了!

3. 编写代码
​go-plus​​vscode​

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_mysql_13

3.1 发送请求

​net/http​​client​

3.2 解析数据

​json​
​json​​string​​json格式​

3.3 数据处理与分析

  • 查看24天前的这一天的所有留言记录

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_golang_14

  • 查看所有评论的来源平台

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_android_15

  • 做一个小升级,我们统计各个平台的平均评论时间

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_开发语言_16

  • 然后我们统计出哪天评论了多少人

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_android_17

​安卓用户​

我的Go+语言初体验——用Go+写个爬虫并进行数据处理_原力计划_18

  • 去除重复的用户名称的评论数据

3.4 输出所有的评论

​github​

https://github.com/CocaineCong/go-plus-demo

总结

怎么说呢,写完爬虫感觉,这个好像有点写python的感觉,毕竟我是数据科学专业的,经常用到python进行数据处理…

Go+的领域就是面向数据分析的,Go+的爬虫很快!性能也比python牛,语法也相似

​7777777​
​Go+爬虫​