网易云下载的音乐怎么保存到本地(电脑网易云下载的音乐怎么保存到本地)
网易云下载的音乐怎么保存到本地(电脑网易云下载的音乐怎么保存到本地)
动机是啥
随着之前版权大战的落幕,网易云音乐坐拥最忠实的一批用户,但是却在版权上缺失了一大块,带给用户很不好的使用体验。于是很多人纷纷转战QQ音乐等其他竞品。
本来我也就是偶尔听个响,对于听歌没有太大的需求,再一方面也是情怀,所以没有积极拥抱QQ音乐。但是实在架不住每次在网易云音乐要听啥歌没有啥,潜移默化地也就转移到了QQ音乐上。
到了QQ音乐一看,诶嘿,这不行啊,我辛辛苦苦积攒的家底儿都没了嘛这不是?就光秃秃的“我喜欢”,还大小没几首歌。这让习惯了网易云日推的我怎么能习惯啊……
好了,以上都是前情提要。
实际上这篇文章的写作动机就是要把网易云音乐的歌单导入到QQ音乐中去。
本身QQ音乐提供了一个导入网易云音乐歌单的小公举,啊不,咳咳,是小工具。但是奈何出于不可名状的原因,这个工具常年出于抽风状态。其具体症状见下图:
于是乎,官方是靠不住的了。
大力水手曾经曰过:“靠山山倒,靠人人跑。只有靠自己,最好。”自己动手,丰衣足食,现在这个社会谁还没点儿技术了吗?
选择的方法
好吧我承认,我没有技术……
那好家伙,直接用我们社会主义劳动人民的老朋友
requests
来获取页面信息,返回来的倒也说不上是乱码,但就是没有咱们真正需要的内容——歌曲名称。
行吧,那我配置一下
User-Agent
。我去还是不行?
咋还出来了一个SSLError?这啥?
上网一查,还得手动关闭SSL证书验证。行叭,走你~
啊不对,不登录好像看不到完整的歌单?那就先登录吧。登录完好像还得在请求头里面加上用cookie来保持认证身份?……
不就是这么一个页面,要啥技术啊,看我暴力破拆。
开工
首先在页面上点击鼠标右键,选中“检查”这一项;或者不点击鼠标,直接按下快捷键
Ctrl+Shift+I
。会弹出Chrome浏览器的控制台。此时找到其中的元素
,这个元素里边包含的就是我们想要的歌单了。
在这个标签内部又分为两大部分:
和
。通过移动鼠标观察页面变化,可以发现
中的内容是主体。
再然后,轻易可以发现
中的每个子条目都对应于歌单中的一首歌:
抓住这个点就是一顿分析(疯狂查找),一直找到最小的对应于歌曲名字的标签:
行了,现在差不多可以开始编程了。
咱也不用假模假样再去用
requests
一顿爬了,直接copy-paste搞腚,呸,搞定。
鼠标选中,右键点击,依次选择:
然后新建一个HTML文件,粘贴,保存,哈哈,数据爬下来啦~
请叫我人工全智能手动爬虫工程师。
接下来再利用vscode的HTML格式化插件,把一行的HTML格式化一下,大概就长这样了:
文件有了,那接下来就好办了。
Python先把文件打开,把文件内容给读取进来:
withopen("test.html","r",encoding="utf-8")asf: content=f.read()
此处
f.read()
返回一个由文本内容组成的字符串,我们使用
BeautifulSoup
来进行解析:
frombs4importBeautifulSoup response=BeautifulSoup(content,'lxml')
仔细考察节点内容,会发现每首歌的名字都在一个特殊的标签
中,并且只在歌名处使用了这个标签,因此我们可以直接调用
find_all()
方法来获取相应节点:
results=response.find_all("b")
由于歌曲名字是以标签
的属性
title
形式存在的,因此我们可以通过节点直接获取相应的属性值:
forresultinresults: print(result['title']) #笑红尘-(电影《东方不败之风云再起》主题曲) #爱你在心口难开 #得意的笑 #寂寞在唱歌 #...
最后,我们将得到的歌曲名字统一保存为一个名为“SongList.txt”的文本文件,导出歌单的工作就大功告成了。
withopen("SongList.txt","w+",encoding="utf-8")asf: f.writelines([result["title"]forresultinresults])
此时结果都挤成一堆,所以我们还需要为每一个歌名末尾手动添加一个换行符,最终程序如下:
frombs4importBeautifulSoup withopen("test.html","r",encoding="utf-8")asf: content=f.read() response=BeautifulSoup(content,'lxml') results=response.find_all("b") withopen("SongList.txt","w+",encoding="utf-8")asf: f.writelines([result["title"]+"n"forresultinresults])
别看文章写了这么多,其实代码非常之简短(毕竟真正有难度的部分已经由资深人工全智能爬虫工程师代劳了),歌单导出已经搞腚了。
-
- 特斯拉换电池(特斯拉换电池多少钱)
-
2025-06-20 16:16:01
-
- 适合年轻女士的香水(适合女孩的香水)
-
2025-06-20 16:13:46
-
- 任婷婷(任婷婷的含义是什么)
-
2025-06-20 16:11:31
-
- 皮鞋什么牌子好
-
2025-06-20 16:09:16
-
- 红酒过期变醋 红酒变成醋了
-
2025-06-20 16:07:01
-
- 放在黑名单不删的心态,只拉黑不删除你的女人
-
2025-06-20 16:04:46
-
- 跟王彦霖长得很像的
-
2025-06-20 13:47:57
-
- 让天秤男爱上你的绝招,对你死心塌地的方法
-
2025-06-20 13:29:58
-
- 情感破裂怎么办?5个有效方法帮你挽回爱情
-
2025-06-20 13:27:53
-
- 情感电台文本的内容主要是什么
-
2025-06-20 13:25:47
-
- 聊天太无趣怎么变有趣
-
2025-06-20 13:23:41
-
- 开会发言紧张怎么办?5个适用方法轻松解决
-
2025-06-20 13:21:36
-
- 对抗辐射的三种方法,战胜辐射的克星。
-
2025-06-20 13:19:30
-
- 沉浸在二次元怎么办
-
2025-06-20 13:17:25
-
- 怎么样和女孩子聊天才有更多话
-
2025-06-20 13:15:19
-
- 怎么判断别人是不是喜欢自己,怎样确定别人是不是喜欢你
-
2025-06-20 13:13:14
-
- 怎么夸一个女孩子漂亮
-
2025-06-20 13:11:08
-
- nike的由来,nike名字的由来含义?
-
2025-06-20 05:56:20
-
- 省直管市(省直管市有哪些)
-
2025-06-20 05:54:05
-
- 喝什么可以补气养血(鸡蛋加香油加白糖能不能喝)
-
2025-06-20 05:51:50