教程(假的)

b站链接:
https://b23.tv/av93837599

这期视频起源于本人本地歌曲被网易云音乐删掉的悲惨经历,不管你有没有,反正我有,我以前在qq音乐下载了一首肖邦的钢琴协奏曲,但是后来想再听的时候发现很悲剧被网易云删掉了(悲伤),所以萌生了把所有歌都下载下来的念头,话不多说,先展示一下成果

那么我就直接上源代码了

import requests
from bs4 import BeautifulSoup
import os
import retitle = ''def getMusic(ID,path):'''下载单个歌曲:param ID: 歌曲的id信息:param path: 歌曲的下载路径:return: None'''try:kv = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'}cloud = "http://music.163.com/song/media/outer/url?id="url=cloud+ID+".mp3"tmp = requests.get(url, headers=kv)tmp.raise_for_status()# tmp.encoding=tmp.apparent_encoding 不用解码 因为是二进制文件print("访问成功,正在下载,请稍后......")with open(path,"wb") as f:f.write(tmp.content)f.close()print("下载成功")except:print("访问错误")print("请确认你的网络连接或者输入id是否正确")def getMusicList(ID):'''获取歌单的信息--歌曲名字--歌曲的id   :param ID: 歌单的id:return: 存放歌曲名字和id的字典'''headers = {'Referer': 'http://music.163.com/','Host': 'music.163.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',}#请求头 伪装成用户访问base_url = 'http://music.163.com/playlist?id='s = requests.session()#保持会话response = s.get(base_url+str(ID), headers=headers).contentss = BeautifulSoup(response, 'lxml')        #使用bs4解析o( ̄ヘ ̄o#)main = ss.find('ul', {'class': 'f-hide'}) ls = main.find_all('a')     #ls 是迭代器 存放所有歌的标签global titletitle = ss.find('h2', {'class': 'f-ff2 f-brk'}).string      #获取歌单的名字print('一共{}首歌'.format(len(ls)))Total_dic = {'title':title}Music_dic = {}      #声明字典for music in ls:Mname = music.textMID = str(music['href']).replace('/song?id=', '')print('Name : {:<30} \tID : {:^10}'.format(Mname, MID))Music_dic[Mname] = MID      #存放进字典 key是name value是idTotal_dic['songlist'] = Music_dicreturn Total_dic       #返回字典def getID():'''输入程序 利用正则表达式判断用户输入是否是正确的id:return: 歌单的id,以及bool值'''playlist_ID = input("请输入下载歌单的id : ")pattern = re.compile(r'\d+')ls = re.findall(pattern, playlist_ID)if len(ls)!= 0 :return playlist_ID, Trueelse:return 0, Falsedef main():'''主函数 执行下载:return: None'''while True:ID, flag = getID()if flag:listJson = getMusicList(ID)# 创建文件夹if os.path.exists(title):print('歌曲目录文件夹已存在')else:os.mkdir(title)print('已创建歌曲目录文件夹')dic = listJson['songlist']for name in dic.keys():print(name, end='  ')getMusic(dic[name], title + '/' + name + '.mp3')#下载每一首歌 第二个参数是路径 必须要加".mp3"breakelse:print('请输入歌单的id, 您有可能错误输入了歌单的网址')if __name__=='__main__':main()

以上就是全部

Python下载网易云音乐歌单相关推荐

  1. python3 下载网易云音乐歌单

    1 安装scrapy 最简单的,万无一失的方法, 打开Anaconda的Navigator, 选择"ALL", 然后搜索"scrapy", 选中前面的对号, 右 ...

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

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

  3. Python数据分析之定制化网易云音乐歌单

    最近朋友圈刷疯了的几件事: 圣诞节骗我艾特微信官方戴红帽 老的跟树皮似的骗我晒18岁皂片 明明开挂却骗我自己玩的跳一跳 网易云听歌报告告诉我最爱tfboy 支付宝关键词鄙视我太穷丢它脸 个人特别喜欢听 ...

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

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

  5. 小项目实现:下载网易云某个歌单的全部音乐

    第一步:用歌曲地址先实现一首歌的下载 利用: song_url (例如:https://m701.music.126.net/20190719164713/77733e070e7f9c68ac6ea2 ...

  6. python 爬虫爬取下载网易云音乐歌单的歌曲(需要使用JS的加密方法得出params去获取下载地址)

    要点:1.js加密就是麻烦,只能百度寻找了!设计的加密模块binascii.Crypto.base64 2.requests.Session的用法,可以指定headers.cookies 3.可以用s ...

  7. python可视化分析网易云音乐评论_Python数据可视化:网易云音乐歌单

    通过Python对网易云音乐华语歌单数据的获取,对华语歌单数据进行可视化分析. 可视化库不采用pyecharts,来点新东西. 使用matplotlib可视化库,利用这个底层库来进行可视化展示. 推荐 ...

  8. python音乐可视化_Python数据可视化:网易云音乐歌单

    原标题:Python数据可视化:网易云音乐歌单 作者:法纳斯特(本文来自作者投稿,简介见末尾) 网易云音乐2018年度听歌报告-遇见你,真好. 相信有不少人在上周,应该已经看过自己网易云音乐的年度报告 ...

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

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

最新文章

  1. 3行代码就能可视化Transformer的奥义 | 开源
  2. python培训好学吗-人工智能“速成班”Python好学吗 小心别被忽悠了
  3. Windows保护模式学习笔记(十三)—— PWTPCD
  4. Apache虚拟主机指南
  5. 在c语言中数据类型高低,C语言的数据类型
  6. python学习之老男孩python全栈第九期_day022作业
  7. 模因(meme)收集
  8. php正则表达式替换ubb,自定义ubb代码,preg_replace()函数的一些代码
  9. js pug 代码_Pug 代码 Code
  10. Content type ‘application/json;charset=UTF-8‘ not supp...
  11. KOL新消费品牌营销知多少
  12. Salesforce市值3000亿美元,中国CRM企业能复制成功吗?
  13. amp;#9733;平衡法则在生活中的应用
  14. TypeScript中的泛型
  15. 车牌识别大大提升智慧加油站管理水平
  16. oracle获取减一年,oracle日期减一年 oracle指定日期减一天
  17. CC1101调试入门
  18. 第八章以太网交换计算题及其解析[计算机网络]
  19. 物联网毕设 - 基于Kociemba算法和颜色识别的解魔方机器人 - 单片机
  20. FileSystemWatcher 监控文件变化

热门文章

  1. 树莓派上串口TTL转RS485模块
  2. 物理五大信道浅聊PRACH、PUCCH、PUSCH、PDCCH、PDSCH
  3. 时序建模:时间戳与时序特征衍生思路汇总
  4. 安装爬虫框架Scrapy,安装后运行不了~
  5. python读取word文档并做简单的批量文档筛选
  6. 如何使用R批量处理文件
  7. c语言单项选择题及答案,2011年计算机二级C语言单项选择题及答案解析精选3
  8. php生成图片颜色失真,Coreldraw导出图片颜色失真怎么办?
  9. 0320-复利计算器代码
  10. HTML SWF播放器