网易云音乐评论采集抓包分析

2023年4月29日 14:30 ry 641

最近接到个单子,采集网易云音乐评论,有几个参数前端稍微加密了绕了几个弯,整体还是很简单的,我们具体来分析分析,我们随便选一首音乐进行分析,这里选择陈粒的走马这首音乐,我们可以看下下面的评论,如下所示看到翻页,我们按f12打开网络抓包工具,找到network->xhr,点击下一页,我们可以查看新的网络数据包,如下所示

接下来,我们直接全局搜索,如下所示的步骤,

输入要搜索的关键字回车进行全局搜索,搜索结果如下所示我们先从第一个开始,双击点开即可,如下所示然后我们再到js里面进行搜索我们要解决的参数,如下所接着在这个地方打上断点,点击下一页开始调试,我们可以看下如下所示w

看到bMs1x这个变量里面就有我们参数的生成过程的数据,通过一个asrsea函数生成,该函数有4个参数,我么可以看下这4个参数是什么,转到控制台,我们直接打印下,如下所示

经过多次测试发现这4个参数除了第一个参数随着音乐id变化外,其他3个参数都是固定的,那就好办了,我们只用看第一个参数即可,rid最后的_后面的id即时音乐id,同理threadId一样,后面的pageNo是页数,pageSize就是每页的评论数量,cursor为时间戳,offset不知道,固定为0,orderType为评论按照时间顺序排序,后面的csrf_token默认为0,接下来我们就来分析asrsea这个函数的具体功能了,我们点进去这个函数,发现如下诉讼看到这就很明显了,d,e,f,g就是上面传进来的4个参数,除了第一个,后面3个都是固定的,为了好分析,我们每个函数都打上断点,进行每个函数调试,如下所示首先i为函数a调用的结果,a函数一看是随机生成的,随机生成的都可以直接写死,不用管,然后调用b函数,b函数就是AES加密,传入d和g,上面说了d是变换的,g是固定的,注意return后面是逗号不是封号,然后对上次进行AES加密的值和随机生成的i再进行AES加密,AES加密都密钥,这里的密钥是0102030405060708,然后encSeckey是调用c函数的结果,这里看下ef都是固定的,i写死的,因此结果也可以写死,如图所示,我们可以直接写死

整体过程明白了,重要的部分就是第一个参数了,变化的,经过测试发现里面的cursor是时间戳,即第二页的cursor为第一页响应数据的cursor,我们用python代码模拟下请求,结果如下所示完美解决,经过多次测试发现,用户删除的评论页可以采集到,因此采集到的评论实际比页面显示的评论多。

如果上述代码帮助您很多,可以打赏下以减少服务器的开支吗,万分感谢!

欢迎发表评论~

点击此处登录后即可评论


评论列表
2023年10月16日 22:44 ry: 回复
需要源码的可以加我qq:1449917271微信:liuyoudyping

2023年5月3日 21:41 ry: 回复
最新评论数据采集,爬虫软件定制,可视化,web开发,需要的私我:qq:1449917271 微信liuyoudyping


赣ICP备2021001574号-1

赣公网安备 36092402000079号