admin管理员组

文章数量:1583569

1 下载单个歌曲

1.1 下载歌曲

  • 打开网易云音乐官方网站:https://music.163/
  • 首先点击歌单,随机选一个自己喜欢的歌单打开

  • 右击打开开发者工具(勾选Preserve log选项)

  • 点击歌曲标题前边的播放按钮(点击Size按钮,寻找歌曲资源(Size最大))

  • 点击打开,复制歌曲url

  • 粘贴到搜索框,如图所示

点击最右侧那三个点就可以免费下载了,不过这样做太low了,完全发挥不出来我们程序员的作用嘛

1.2 使用程序进行下载

import requests

# 歌曲url
url = "https://m10.music.126/20181226180511/7406805aaa4afbc423fc8902f43df1ad/ymusic/515b/540b/560f/f12b39446fca823bd314ae2ea9917449.mp3"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
}
# 发送请求,获取响应
resp = requests.get(url, headers=headers)
# 保存文件
with open("a.m4a", "wb") as f:
    f.write(resp.content)
# 下载结束
print("download over!")

1.4 分析歌曲url的生成

https://m10.music.126/20181226180511/7406805aaa4afbc423fc8902f43df1ad/ymusic/515b/540b/560f/f12b39446fca823bd314ae2ea9917449.mp3
https://m10.music.126/20181226181447/fbe4458897a2d345914ccec8785467a9/ymusic/0552/560f/0409/2888ce48aeaeced0c5ee3c6733eb15cf.mp3
  • 在搜索框输入:20181226181447,查找相关资源(竟然直接获取到了歌曲的url)

  •  点击Headers,查看url

  • 发现是POST请求方式,查看需要提交的参数(需要两个参数:params、encSecKey)

正常思路应该是继续查找两个参数:params、encSecKey,但是发现这两个参数是由js生成的,难度系数太大,放弃

正在努力想此解决办法。。。

百度查到网易云网页下载接口为:song_url = 'http://music.163/song/media/outer/url?id=%s.mp3' % song_id

故:另写一简单方法,代码详见 ☞ https://blog.csdn/apollo_miracle/article/details/85267851

本文标签: 网易歌曲下载音乐