【网易云】网易云解参数(获取网易云歌词,获取评论同理)
真正日常使用只需要输入 4 行,修改两行,很简单
代码部分 以下代码基于上面的视频:(视频内为获取网易云评论, 此代码也是) params_encSecKey.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 import requestsimport randomimport jsonfrom Crypto.Cipher import AESfrom base64 import b64encodeclass Netease_params (object ): def __init__ (self, data ): self .data = data self .e = '010001' self .f = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7' self .g = '0CoJUm6Qyw8W8jud' self .i = 'vlgPRPyGhwA6F4Sq' def set_user_agent (self ): USER_AGENTS = [ "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)" , "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)" , "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)" , "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)" , "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6" , "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1" , "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0" , "Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5" ] user_agent = random.choice(USER_AGENTS) return user_agent def get_encSecKey (self ): return "6ea19f618d09893013feb207e6953ab0d04831ccf86095147970745a825a0f3288ad0bfdb802ffd5876394599d179b65785e679b23ae38035d476872f5270c26f7e15f0e2de0da92ac7fdd1de6a965642a67707d3b204d48a3a3c66fe536c9e2056d2032c884d764cf419e8ce7bd245f56bde140deccbaed83995285ee66ccda" def to_16 (self, data ): pad = 16 -len (data) % 16 data += chr (pad) * pad return data def enc_params (self, data, key ): iv = "0102030405060708" data = self .to_16(data) aes = AES.new(key=key.encode("utf-8" ), IV=iv.encode("utf-8" ), mode=AES.MODE_CBC) bs = aes.encrypt(data.encode("utf-8" )) return str (b64encode(bs), "utf-8" ) def get_params (self, data ): first = self .enc_params(data, self .g) secend = self .enc_params(first, self .i) return secend def run (self, url ): data = { 'params' : self .get_params(json.dumps(self .data)), 'encSecKey' :self .get_encSecKey() } headers = {'User-Agent' :self .set_user_agent()} response = requests.post(url, data=data, headers=headers).json() return response if __name__ == '__main__' : url = 'https://music.163.com/weapi/song/lyric?csrf_token=' data = { 'csrf_token' : "" , 'id' : "1398764652" , 'lv' : '-1' , 'tv' : '-1' } wyy = Netease_params(data) wyy.run(url)
获取参数方法
此处为歌词的 data,csrf_token 可以空
获取网易云评论
打开任意一首歌曲(演示 )
按 F12,找到响应内容为评论的请求 此处的 url 就是后面要使用的 url
按顺序点击
格式化一下
在此处添加断点
按 F5 刷新
按”1“处,直到”2”处的链接为评论的请求 url(rid,threadId 最后面的数字为歌曲 id)
把方框内的拷贝到 data 里面,并修改为字典的格式(注意csrf_token 可以空,全部的内容都为字符串) Tip
其中 url 和 data 的获取过程请参考上面的步骤,如果看不懂,请参考最上方的视频
使用方法参考最下方的 if __name__ == '__main__'
部分,此处为四行, 只需要修改 url 和 data 就可以获取不同的信息