首页 > 其他分享 >网易云音乐音乐下载

网易云音乐音乐下载

时间:2024-04-15 21:12:26浏览次数:27  
标签:网易 return 音乐 js var CryptoJS data 下载

1. python部分

网易云音乐.py:

# -*- coding:utf-8 -*-

# @Time : 2024/4/15 19:30
# @Author : 快乐的小猴子
# @Version : 
# @Function : 
import subprocess
from functools import partial
subprocess.Popen = partial(subprocess.Popen, encoding = 'utf-8')
import execjs
import requests

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
    "Referer": "https://music.163.com/",
}
with open('网易云音乐.js', 'r', encoding='utf-8') as f:
    json_data = f.read()
comp = execjs.compile(json_data)
res = comp.call('main')
# print(res)
# exit()
data = {
    "params": res["encText"],
    "encSecKey": res["encSecKey"],
}
# print(data)
url2 = 'https://music.163.com/weapi/song/enhance/player/url/v1?csrf_token='
resp = requests.post(url2, headers=headers, data=data)
# print(resp, resp.json())

# 取出歌曲url
song_url = resp.json()['data'][0]['url']
# 下载音乐
with open('音乐.mp3', 'wb') as fs:
    fs.write(requests.get(song_url, headers=headers).content)
2. JavaScript部分

网易云音乐.js

var CryptoJS = require('crypto-js') // 导入加密库
var {setMaxDigits, RSAKeyPair, encryptedString} = require('./rsa.js')

// 加密函数
function fun(d, e, f, g) {
    var h = {}
      , i = a(16);
    return h.encText = b(d, g),
    h.encText = b(h.encText, i),
    h.encSecKey = c(i, e, f),
    h
}

// 随机值
function a(a) {
    var d, e, b = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", c = "";
    for (d = 0; a > d; d += 1)
        e = Math.random() * b.length,
        e = Math.floor(e),
        c += b.charAt(e);
    return c
}

// params的生成 AES加密
function b(a, b) {
    var c = CryptoJS.enc.Utf8.parse(b)
      , d = CryptoJS.enc.Utf8.parse("0102030405060708")
      , e = CryptoJS.enc.Utf8.parse(a)
      , f = CryptoJS.AES.encrypt(e, c, {
        iv: d,
        mode: CryptoJS.mode.CBC
    });
    return f.toString()
}

function c(a, b, c) {
    var d, e;
    return setMaxDigits(131),
    d = new RSAKeyPair(b,"",c),
    e = encryptedString(d, a)
}


function main() {
    var d = '{"ids":"[2144714918]","level":"standard","encodeType":"aac","csrf_token":""}'
    var e = '010001'
    var f = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7'
    var g = '0CoJUm6Qyw8W8jud'

    var bKL9C = fun(d, e, f, g);
    return bKL9C
}

说明:网易云音乐.js 中的 rsa.js文件需要根据RSA第三方库生成,生成方法如下:
访问网址 https://ohdave.com/rsa/ 将图中的内容全部粘贴到rsa.js文件中,如图
image

标签:网易,return,音乐,js,var,CryptoJS,data,下载
From: https://www.cnblogs.com/zczhaod/p/18136910

相关文章

  • QGIS下载影像
    插件下载在QGIS中搜索下载QuickMapServices插件再点击插件工具栏上带加号的图标按钮(下图已经加载过服务),选择Settings。选择Moreservices,点击Getcontributedpack。再点击插件工具栏上带加号的图标按钮,可以看到已经添加了一些默认的地图服务。按需要选择服务,加载区域矢量数......
  • Maven的下载安装配置
    Maven的下载安装配置Maven是什么Maven是基于项目对象模型(POMprojectobjectmodel),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具。通俗的讲maven就是专门用于构建和管理项目的工具,他可以帮助我们去下载我们所需要jar包,帮助我们去管理项目结构,帮......
  • 音乐软件
    1.墨刀、Axure、Mockplus等原型设计工具各自的适用领域及优缺点如下:墨刀:适用于快速原型设计和协作,特点是简单易上手,支持团队协作,适合小型项目或初学者使用。缺点是交互功能相对简单,对于复杂的原型设计需求可能不够强大。Axure:适用于高保真原型设计和复杂交互设计,功能强大,支持动......
  • 可听音乐
    1.墨刀、Axure和Mockplus是三种常见的原型设计工具,它们在不同的领域有各自的优缺点:墨刀:适用领域:墨刀适合个人用户或小团队使用,特别适合快速原型设计和分享。优点:界面简洁直观,操作简单易上手;支持多人协作,方便团队合作;提供丰富的元件库,可快速搭建原型。缺点:功能相对较少,适用范围......
  • 网站推荐【UUID资料库】一款一款面向 <考研考试考证、学习资源下载、优质文章分享> 的
    网站推荐【UUID资料库】一款一款面向<考研考试考证、学习资源下载、优质文章分享>的资料库资源库使用介绍1、官方网址UUID资料库https://www.uu2id.com/ UUID资料库-考研公共课https://www.uu2id.com/tongkaoUUID资料库-考研专业课https://www.uu2id.com/schooldefine考......
  • 通用的上传下载(线程)
    packagecom.duxiang.backgroundmanagement.controller;importcn.hutool.core.io.FileUtil;importcn.hutool.core.util.StrUtil;importcom.duxiang.backgroundmanagement.common.Result;importorg.springframework.web.bind.annotation.*;importorg.springframework.web.......
  • exe4j下载和使用(超详细)
    1、下载exe4j链接:点击下载提取码:b3cy1.1、安装步骤就不说了,按照提示一步一步进行即可2、这里使用的jar包是maven项目打包出来的jarPS:注意这里针对的是maven项目打包成的jar,如果是普通Java项目打包成的jar请参考别的文章12.1、打开exe4j密匙:A-XVK275016F-15wjjcbn......
  • 实验一音乐app原型设计1
    对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点,以下是对这三个工具的对比分析:对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点,以下是对这三个工具的对比分析:1.墨刀适用领域:作为国内目前广受认可的一款在线原型设计和协同工具,......
  • 实验1——线上音乐App
    一、墨刀、Axure、Mockplus是当前较为流行的三种原型设计工具,各自具有一定的特点和适用场景。以下是对这三种工具适用领域及优缺点的对比分析:墨刀(Modao)适用领域:1.团队协作:墨刀提供了较强的团队协作功能,适合多人共同编辑和浏览项目,特别适用于远程团队协作。2.快速迭代:墨刀支......
  • microsoft全球GlobalMLBuildingFootprints下载方法
    website:https://github.com/microsoft/GlobalMLBuildingFootprints?tab=readme-ov-filePython代码Start"""Thissnippetdemonstrateshowtoaccessandconvertthebuildingsdatafrom.csv.gztogeojsonforuseincommonGIStools.Youwillneedtoi......