以下面这个歌单为例:下载赵雷的所有音乐。其实我们只需获取这个歌单中所有音乐的id。

我们查找一下歌曲的id信息:

这样就找到了歌曲的id信息:

 但是这样是拿不到的,我们要找的源码其实是在这:

接下来要做的就是用程序获取这些id:

1.请求本歌单的网址https://music.163.com/playlist?id=98332770(注意:要将#号去掉)

这里才是我们要请求的网址:

import requests
import time
from bs4 import BeautifulSoupheaders = {'Host': 'music.163.com','Referer': 'https://music.163.com/','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
}url="https://music.163.com/playlist?id=98332770"response = requests.get(url=url, headers=headers)
html=response.content.decode(encoding="utf-8")
#print(html)
soup = BeautifulSoup(html, 'lxml')
results = soup.find('ul',{'class':'f-hide'})
results=results.find_all('a')
print(results)
for music in results:print(music.text, music['href'])

到这里,已经拿到了歌曲名及歌曲的id。

接下来是下载:

网易云歌曲一般会有一个外链,专门用于下载音乐音频的,以赵雷的歌曲《成都》为例,《成都》的外链URL是:http://music.163.com/song/media/outer/url?id=436514312.mp3,其中436514312这个数字是《成都》这首歌曲的ID。也就是说只要我们将歌曲的ID传入到外链URL中,就可以找到该歌曲的下载地址。

完整代码:

import requests
import time
from bs4 import BeautifulSoup
import urllib.requestheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0',
}url="https://music.163.com/playlist?id=98332770"response = requests.get(url=url, headers=headers)
html=response.content.decode(encoding="utf-8")
#print(html)
soup = BeautifulSoup(html, 'lxml')
results = soup.find('ul',{'class':'f-hide'})
results=results.find_all('a')
print(results)
for music in results:#print(music.text, music['href'])#下载歌曲music_url="http://music.163.com/song/media/outer/url?id={}.mp3".format(music['href'].split("=")[1])print(music_url)urllib.request.urlretrieve(music_url,music.text+'.mp3')

运行结果:

改进版:直接输入歌单的URL即可!!

完整代码:

from tkinter import *
import requests
from bs4 import BeautifulSoup
from urllib.request import urlretrievedef download():url = entry.get()new_url = url.replace('/#', '')header = {'Host': 'music.163.com','Referer': 'https://music.163.com/','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'}res = requests.get(new_url, headers=header).textr = BeautifulSoup(res, "html.parser")music_dict = {}result = r.find('ul', {'class', 'f-hide'}).find_all('a')for music in result:#print(music)music_id = music.get('href').strip('/song?id=')print(music_id)music_name = music.textmusic_dict[music_id] = music_namefor song_id in music_dict:song_url = "http://music.163.com/song/media/outer/url?id=%s" % song_idprint(song_url)path = r" %s.mp3" % music_dict[song_id]# 添加数据text.insert(END, "正在下载:%s" % music_dict[song_id])text.see(END)text.update()urlretrieve(song_url, path)root = Tk()
root.title("网易云音乐下载器")
root.geometry("550x400+550+230")label = Label(root, text="歌单URL", font=('宋体', 15))
label.grid()entry = Entry(root, font=('微软雅黑', 20))
entry.grid(row=0, column=1)text = Listbox(root, font=("微软雅黑", 15), width=45, height=10)
text.grid(row=1, columnspan=2)button = Button(root, text="开始下载", font=("微软雅黑", 15), command=download)
button.grid(row=2, column=0, sticky=W)button1 = Button(root, text="退出", font=("微软雅黑", 15), command=root.quit)
button1.grid(row=2, column=1, sticky=E)mainloop()

python下载网易云音乐中某个歌单中的全部音乐相关推荐

  1. 使用python下载网易云课堂中Andrew Ng的机器学习课程

    看了网易云课堂上stanford大学教授Andrew Ng的机器学习课程,觉得很不错,就想下载下来,正好也在学习python,所以就有了这么一段代码.参考了博客http://blog.csdn.net ...

  2. python代码示例下载-Python下载网易云歌单歌曲的示例代码

    今天写了个下载脚本,记录一下 效果: 直接上代码: # 网易云 根据歌单链接下载MP3歌曲 import requests from bs4 import BeautifulSoup def main ...

  3. 零基础也能看懂python_零基础也能看懂的Python下载网易云音乐爬虫

    Python Selenium(配置方法参照:Selenium配置) Chrome浏览器(其它的也可以,需要进行相应的修改) 解析 以前抓取过网易云网页的朋友可能都清楚网易云有反爬虫策略的,post时 ...

  4. Java 下载网易云版权限制的歌

    下载网易云可以试听,但是版权受限不让下载的歌.不是能要会员的,必须是可以听的,因为会员不能在网页上加载媒体资源.F12后发现.m4a的文件是音乐文件,可以在本地打开,直接抓下来. package co ...

  5. Python下载网易云音乐(云音乐飙升榜)

    最近突然想用python写一个自动下载的工具,于是就先拿网易云来练练手,并把过程中的心得写下来便于后面有想玩这个的童鞋们参考. 首先我们分析网页源码,找到我们想要的获取数据位置: 每一个标签对应着飙升 ...

  6. Python下载网易云音乐歌单中的歌曲

    注意headers的user-agent要根据自己的浏览器更改 import requests from bs4 import BeautifulSoup import os import retit ...

  7. Python下载网易云歌单歌曲,这个脚本你给多少分!

    今天写了个下载脚本,记录一下 效果: 直接上代码: # 网易云 根据歌单链接下载MP3歌曲 import requests from bs4 import BeautifulSoupdef main( ...

  8. Python下载网易云歌单歌曲

    今天写了个下载脚本,记录一下 效果: 直接上代码: # 网易云 根据歌单链接下载MP3歌曲 import requests from bs4 import BeautifulSoupdef main( ...

  9. 怎么用python下载网易云_实现python批量下载网易云音乐的免费音乐

    python视频教程栏目介绍实现下载免费音乐 相关免费学习推荐:python视频教程 运行效果 代码# -*- coding:utf-8 -*- import requests, hashlib, s ...

  10. Python下载网易云歌曲(版权限制的怎么播放和下载呢?) 1

    为什么要这样下载 网易云音乐,我相信大多数人都用过,我个人觉得非常好用,也一直在用,有的时候,我们搜索一些网易歌曲,发现播放不了,甚至下载不了,因为提示"版权方要求,当前歌曲仅限开通音乐包使 ...

最新文章

  1. 【案例】城市地址三级联动
  2. Linux 环境 搭建Git 服务器,并且修改SSH端口使用
  3. windowsserver2008r2可以装什么模拟器_为什么不可以用塑料桶装汽油?答案就在这!...
  4. string 中的offset_Kafka+Spark Streaming管理offset的两种方法
  5. 数据中心节能专题—他山之石可以攻玉
  6. python requests是什么_如何基于Python + requests实现发送HTTP请求
  7. python3抓取b站弹幕_python3写爬取B站视频弹幕功能
  8. d3-force 力导图 源码解读与原理分析【一】
  9. Word转换成pdf文件之修改pdf虚拟打印机设置
  10. USPS手写体数据的处理
  11. OtherSoftwares
  12. 3D打印在学生教育的有哪些应用?
  13. 计算机网络谢希仁课后答案详解+计算机网络释疑与习题解答PDF+各章重点题目
  14. 腾讯云播放器TcPlayer实现网络直播
  15. 20220601超简单百度地图街景图片爬取+绿视率计算
  16. 苹果创建账号显示服务器出错,创建iCloud id 提示:无法创建
  17. 如何使用Google图片反向搜索图片
  18. 2022 年十大绩效考核技巧
  19. QT从入门到入土系列教程(一)——Qt5.14.2安装教程和VS2019环境配置
  20. win10 你没有足够的权限执行此操作。

热门文章

  1. 一款支持vue3 的颜色选择器
  2. 去掉图标_小图标创建|精选博客
  3. 如何将PDF转Word文档
  4. SAP License:第三只眼看财务-留存收益与职业道德
  5. 长度游程编码的JAVA源代码_游程编码(Run Length Code)
  6. 什么是SWFObject?
  7. 《计算机组成原理》第二版第一章课后习题答案
  8. 小爱同学app安卓版_小爱同学app-小爱同学安卓版下载v3.0
  9. 最新Jrebel激活码,Jrebel激活激活服务,Jrebel激活码,Jrebel破解
  10. 数学建模层次分析法例题及答案_【数模】层次分析法 - 全国大学生数学建模竞赛(CUMCM) - 数学建模社区-数学中国...