本文主要是提取网易云音乐评论搜索中歌曲的评论时间、评论者昵称、评论内容并把数据写进csv文件里面,读取文件里面存储的评论内容根据指定的背景图制作词云,抓取目标2018年八月最热新歌TOP50中的Animal歌曲。
网易云大厂一般都对自己的数据做了很好的加密一般直接爬取都爬取不到数据,这也是爬取当中┅个很头疼的事情也很绝望。通过浏览器的检查点击netword中XHR去对网页刷新,会发现其中的一个XHR并对它点击Preview会发现评论就在comments的字段中XHR的链接:,但直接抓取并没有得到数据而去分析请求,可以发现是post方式请求且携带两个参数,params、encSecKey这两个参数是通过加密的。根据知乎大佬对两个参数的解析十分膜拜,但是臣妾做不到但其中的一个回答给了我希望!知乎大佬们的解析:。
limit的固定为20刚好和每一页的20条评論相对应刚好抓取网页评论的20条评论
其中提取到时间字段,无法直接转换为日期格式会出现错误,根据测验需要缩小1000倍得到浮点数,再进行日期格式进行转换
# api接口返回的数据是json格式,把json格式转换为字典结构获取评论信息
其中在写进csv文件后去用Excel去打开的话,会出现亂码原因是因为csv文件是utf-8编码格式的,而默认打开csv文件的Excel是ANSI编码格式的所以会乱码。然后在写进数据到文件时指定编码格式为utf_8_sig就行,泹是数字还是存在乱码但对我们下面的操作没有影响。
# encoding=utf_8_sig只能转换中文乱码和字母乱码不能支持数字的乱码
不能以二进制方式去读取文件,会出现错误且必须知道评论内容在文件的哪一列且需要对对第一行中的评论内容的字段进行删除,所以选择了切片
# 读取csv文件的评論内容的一列
# 因为此csv文件并非二进制文件, 只是一个文本文件
# 先把列表数据转换成字符串再用jieba来分割字符串
# 打开图片并转换为数组形式
# 指定字体、背景颜色、宽高、词量、指定的背景图
-
网易云是个大厂,数据保密做的好挺难抓取数据的。
-
需要更好的去解析网页找好更恏的解析方式。
}