首页 > 其他分享 >网易云爬虫+逆向分析

网易云爬虫+逆向分析

时间:2023-01-05 23:12:21浏览次数:59  
标签:逆向 网易 加密 音乐 爬虫 js 参数 ID

本人属于爬虫小白级别,历经重重困难终于有了点感觉,对于网易云音乐的爬虫,想为大家分享一下自己的思路,有不足的地方还望各位大佬指出。 当然,目前无法下载无损音乐,也无法下载vip音乐,作为一个白piao党感到了深深的无奈啊。本篇文章主要是解析网易云音乐js加密的过程。

 

 

 

 

思路大概就是拿到每一首音乐的ID,然后放到网易云的外链播放链接里面就可以了,这个链接大家在网上搜的到就是http://music.163.com/song/media/outer/url?id=ID.mp3。而拿ID需要两个参数params和encSecKey。这两个玩意是加密的,所以重点就是怎么搞定这两个参数。

话不多说,直接分析。

首先我们进入到网易云,输入歌手或歌名。通过抓包分析,很轻松的找到了每一首音乐的ID的位置。

 

 

 

 

 

 

 

接下来就只需要请求对应的网站即可。

可以看到这是一个post请求,而且携带的这两个参数这么大一坨,不用多想,绝对是个加密参数。但是大家不要慌,让我们搜索搜索,仔细分析一波。

通过搜索任意一个参数可以快速找到加密的位置,可以看到

 

 

 

 

 

接下来就是打断点分析。

首先可以确定的是params= bMr5w.encText,

encSecKey=bMr5w.encSecKey

而bMr5w又等于window.asrsea这个函数,观察可知这个函数是需要四个参数的,

 

 

 

 

 

在控制台中打印一下四个参数,分别是:

经过多次测试,发现后面三个参数是不变的,而第一个也只有“薛之谦”会变,这就简单了。

好了,四个参数已经搞定,接下来就是关键了,进入window.asrsea函数

 

 

咱也不说能不能看懂这是啥,不管那么多,直接复制到新建的js文件里。

 

 

 

 

 

为了避免与后面其他的参数起冲突,这里我就改了下名字,然后运行。 说简单也简单,报错了之后,接下来就是缺什么补什么,这里就大家自己慢慢去补了哈。

值得注意的是,当补到b函数的时候,会说 CryptoJS is not defined,仔细一看原来b函数里面有个AES加密,我是自己下载了一个crypto-js加密库,然后导入就可以了

 

 

后面的就没有什么大问题了。补完函数后,我们也是顺利的拿到了想要的东西。

 

 

虽然过程艰辛,但结果是好的。接下来就是写代码拿音乐ID了,这里我用的是execjs库来执行js代码

 

 

 

 

 

现在ID已经顺利拿到,音乐的下载地址也就有了。这里就不在过多赘述,相信大家都没有问题的。

好了,本文到这里也结束了,希望对大家能有所帮助。

 

标签:逆向,网易,加密,音乐,爬虫,js,参数,ID
From: https://www.cnblogs.com/wxd501/p/17029087.html

相关文章

  • 关于爬虫中几个常用库的使用方法总结
    关于爬虫中几个常用库的使用方法总结学了半个多月的爬虫了,用这个案例总结一下各个爬虫库的用法。当然后面还有更重要和更好用的方法,再等后面学到,再做总结了。1.目标......
  • 一步一步学爬虫(4)数据存储之MySQL存储
    (一步一步学爬虫(4)数据存储之MySQL存储)4.4MySQL存储  关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,所以它的存储方式就是行列组成的表,每一列是......
  • 记一次2022某地HVV中的逆向分析
    前言事情是这样的,国庆前期某地HVV,所以接到了客户通知他们收到了钓鱼邮件想要溯源直接下载文件逆向分析一波。钓鱼邮件,图标什么的做的还是挺逼真的,还真的挺容易中招的,但......
  • Pomelo:网易开源基于 Node.js 的游戏服务端框架
    ​​Pomelo​​是基于Node.js的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑......
  • 一步一步学爬虫(3)网页解析之xpath语法
    (一步一步学爬虫(3)网页解析之xpath语法)3.1网页解析之xpath语法  XPath,全称是XMLPathLanguage,即XML路径语言,它是一门在XML文档中查找信息的语言。它最初是用来搜......
  • 一步一步学爬虫(3)网页解析之Beautiful Soup的使用
    (一步一步学爬虫(3)网页解析之BeautifulSoup的使用)3.2网页解析之BeautifulSoup的使用3.2.1BeautifulSoup的简介一种简单的处理导航、搜索、修改、解析功能的工具库......
  • 一步一步学爬虫(3)网页解析之pyquery的使用
    (一步一步学爬虫(3)网页解析之pyquery的使用)3.3一步一步学爬虫(3)网页解析之pyquery的使用本来不想再抄写这部分内容,但是看了下这个方法的使用,有这么多重要的功能,还是抄写在......
  • 一步一步学爬虫(3)网页解析之parsel的使用
    (一步一步学爬虫(3)网页解析之parsel的使用)3.4parsel的使用  前文我们了解了lxml使用XPath和pyquery使用CSSSelector来提取页面内容的方法,不论是XPath还是C......
  • 一步一步学爬虫(4)数据存储之文本存储
    (一步一步学爬虫(4)数据存储之文本存储)4.1TXT纯文本文件存储  将数据保存到TXT文本的操作非常简单,而且TXT文本几乎兼容任何平台,但是这有个缺点,那就是不利于检索。所......
  • 一步一步学爬虫(4)数据存储之JSON存储
    (一步一步学爬虫(4)数据存储之JSON存储)4.2方便灵活的JSON文本文件存储  JSON,全称为JavaScriptObjectNotation,也就是JavaScript对象标记,它通过对象和数组的组合......