怎么查网易云音乐评论

泛型苔原
• 阅读 4251

用过网易云音乐听歌的朋友都知道,网易云音乐每首歌曲后面都有很多评论,那这些海量的评论里是否有自己关心的人写的呢?想通过评论看看某朋友最近的动态或者心情。但是这么多的数据如何找出指定人的评论?一页一页翻,用最原始的手动方法是行不通的,下面笔者用python爬虫实现这个需求,代码我会分享出去,有任何问题或者帮助都可以找我沟通。

如果不是开发人员,有需要可以找我查wx:fas1024

由于网易云音乐的评论都做了混淆加密处理,因此我们需要深入了解它的加密过程之后才能爬取到网易云音乐评论。
一,首先分析数据的请求方式
由于网易云音乐的评论是通过Ajax传输,我们打开浏览器的开发者工具(检查元素),选中控制面板中的Network,再点击XHR(捕获ajax数据),然后点击左上角的重新加载,会看到下面图片中的数据请求列表

怎么查网易云音乐评论
发现我们所需要的数据就在这json格式的数据中,其中comments中是第一页的全部评论,一共20条,hotcomments是精彩评论一共有15条,每首歌曲只有第一页评论才有精彩评论.接着看一下它的请求头,点击Headers怎么查网易云音乐评论

我们发现的它是个post请求,向下滑你会发现这个post请求还带有数据
怎么查网易云音乐评论
二,分析加密过程
通过断点调试发现params和encSecKey是由js脚本中的window.asrsea()函数生成的.
怎么查网易云音乐评论
我们发现window.asrsea()函数有4个参数,在浏览器的js控制台分别对这四个参数进行调试:
怎么查网易云音乐评论
三,生成加密参数
首先我们需要生成长度为16的随机字符串,这里我们仿照上面的javascript的实现,用Python生成16位长的随机字符串,接着用Python实现AES加密,这里要用到pycrypto库,先安装好这个库,然后导入加密模块,然后是RSA加密.首先我简单介绍一下RSA的加密过程.在RSA中,明文,密钥和密文都是数字.RSA的加密过程可以用下列的公式来表达,这个公式非常的重要,你只有理解了这个公式,才能用Python实现RSA加密.RSA的密文是对代表明文的数字的E次方求mod N 的结果, 通俗的讲就是将明文和自己做E次乘法,然后将其结果除以N 求余数,这个余数就是密文.RSA加密后得到的字符串长为256,如果不够长则进行填充(不足部分在左侧添0).最后就是获取那两个加密参数。
四,获取全部评论
上面我们获取到了两个参数encText和encSecKey,利用这两个参数来构造post表单数据(Form Data),即data的值:
params, encSecKey = get_params(page)
data = {'params': params, 'encSecKey': encSecKey}
歌曲评论的URL为:
url = 'https://music.163.com/weapi/v...' + str(songid) + '?csrf_token='
然后把data加到post的参数中去就能获取到json格式的评论数据.
html = requests.post(url, headers=headers, data=data)

代码输出,如下图:有完整15条数据,截图范围有限,显示6条。
怎么查网易云音乐评论
开发人员可以自己玩玩,有需要帮助可以找我,微:fas1024

点赞
收藏
评论区
推荐文章
Aidan075 Aidan075
4年前
收藏这些API,获取网易云音乐数据超轻松
汇总了常见的网易云音乐API,墙裂建议点击右上角收藏下面是常见的网易云音乐get请求的API。简单介绍一下它们:评论http://music.163.com/api/v1/resource/comments/RSO4歌曲ID?limit20&offset0这应该是最最最常见的了,毕竟80%的网易云音乐的爬虫/数据分析文章都是关于评论数据使用技
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
冴羽 冴羽
3年前
VuePress 博客优化之增加 Valine 评论功能
前言在中,我们使用VuePress搭建了一个博客,最终的效果查看:。本篇讲讲如何使用Valine快速的实现评论功能。主题内置因为我用的是vuepressthemereco主题,主题内置评论插件@vuepressreco/vuepressplugincomments,可以根据自己的喜好选择Valine或者Vssue。本篇讲讲使用Val
冴羽 冴羽
3年前
VuePress 博客优化之增加 Vssue 评论功能
前言在中,我们使用VuePress搭建了一个博客,最终的效果查看:。本篇讲讲如何使用Vssue快速的实现评论功能。主题内置因为我用的是vuepressthemereco主题,主题内置评论插件@vuepressreco/vuepressplugincomments,可以根据自己的喜好选择Valine或者Vssue。那我们来介绍下Vss
CuterCorley CuterCorley
4年前
Python 不用selenium 带你高效爬取京东商品评论
一、项目说明1.项目背景一天,一朋友扔给我一个链接,让我看看这个歌商品的所有评论怎么抓取,我打开一看,好家伙,竟然有近300万条评论,不是一个小数目啊。但是仔细一看,原来有234万的评论是默认好评,还是有少部分是有价值的评价的。经过进一步观察,可以看到显然,网页中显示的只有100页数据,每页显示10条,通常可以用selenium点击每一页然后获取
Aidan075 Aidan075
4年前
44万条数据揭秘:如何成为网易云音乐评论区的网红段子手?
昨天在凹凸数读写了一篇新文章,有关网易云音乐热评的分析,链接如下:之前由于懒,总是评论区放个代码就草草了事,技术号们也不太好转载,以后争取《凹凸数读》的每篇文章都在这个《凹凸玩数据》里写下流程。有个段子讲“十年文案老司机,不如网易评论区,网易文豪遍地走,评论全部单身狗”,网易云音乐的评论区也一直都是各类文案大神的聚集地。那么我们普通用户到底如
Peter20 Peter20
4年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Aidan075 Aidan075
4年前
44万条数据揭秘:如何成为网易云音乐评论区的网红段子手?
昨天在凹凸数读写了一篇新文章,有关网易云音乐热评的分析,链接如下:《网易云音乐热评的规律,44万条数据告诉你》(http://mp.wei
Aidan075 Aidan075
4年前
收藏这些API,获取网易云音乐数据超轻松
汇总了常见的网易云音乐API,墙裂建议点击右上角收藏下面是常见的网易云音乐get请求的API。简单介绍一下它们:评论http://music.163.com/api/v1/resource/comments/R_SO_4_{歌曲ID}?limit20&offset0这应该是最最最常见的了,毕竟80%
Stella981 Stella981
3年前
Python数据可视化:网易云音乐歌单
网易云音乐2018年度听歌报告—遇见你,真好。相信有不少人在上周,应该已经看过自己网易云音乐的年度报告了。小F也是去凑凑热闹,瞅了一波自己的年度听歌报告。那么你在云村又听了多少首歌,听到最多的歌词又是什么呢?2018年你的年度歌手又是谁,哪些又是你最爱的歌呢?不过相比去年,我的票圈并没有很多发自己年度报告的朋友。不得不说,版权之争开始
LibraHeresy LibraHeresy
2年前
VitePress 使用 Gitalk 添加评论功能
前言一个优质的博客怎么能没有评论功能呢,没有评论怎么和同志们的思想激情♂碰撞,获得新的收获。Ah,That'sgood.那么用什么方案呢,看来看去,不用自己搭建后端服务的方案都大同小异,都是利用Github的issues模块实现的。其中的佼佼者是Gitme