本项目能够从指定播放列表生成一个html页面,该页面会显示一个流动的CD墙,CD墙中的CD会不断的流动,配合Lively可以将此页面设置为桌面壁纸。
示例页面: https://elliottzheng.github.io/Flowing-CD-Wall/
pip install -r requirements.txt
我们需要先生成一个封面文件夹,该文件夹中包含了所有专辑封面图片。然后生成一个封面列表文件,该文件中包含了封面文件夹中所有封面的文件名。 可以通过两种方式生成封面文件夹与封面列表文件,一种是从QQ音乐播放列表构建,另一种是从网易云音乐播放列表构建,下面分别介绍。
一般在QQ音乐网页版中,点击播放列表,然后复制浏览器地址栏中的地址即可得到播放列表ID。
找到你的QQ音乐播放列表ID,例如https://y.qq.com/n/yqq/playlist/8081238754.html
中的8081238754
就是播放列表ID。
python download_qqmusic_playlist.py --playlist_id 8081238754 --cover_dir covers
下载QQ音乐播放列表8081238754
中所有歌曲的专辑封面到covers
文件夹中,--cover_dir
参数指定封面文件夹。
注意:程序运行中会提示让你登录QQ音乐,这是因为QQ音乐的反爬虫机制,你需要在弹出来的浏览器中登录QQ音乐,方可继续下载,不过这短期内只需要登录一次,后续再次运行程序时就不需要登录了。
同时会生成一个covers.json
文件,该文件中包含了封面文件夹中所有封面的文件名。这是为了方便后续生成CD墙HTML。
从网易云中分享歌单,点击复制链接,playlist?id=
后的数字即为歌单ID,例如 https://music.163.com/playlist?id=426712570
中的 426712570
。
python download_netease_music_playlist.py --playlist_id 426712570 --cover_dir covers
下载网易云音乐歌单426712570
中的所有歌曲的专辑封面到covers
文件夹中,--cover_dir
参数指定封面文件夹。
python generate_cd_wall.py --cover_dir covers --output_dir html --cover_list covers.json
cover_dir参数指定封面文件夹,cover_list参数指定封面列表文件,output_dir参数指定输出文件夹。
cover_list文件是上一步生成的covers.json
文件,它的作用是告诉程序封面文件夹中有哪些封面文件是需要的,如果不指定该参数,程序会默认使用封面文件夹中所有封面。
运行后,如果一切正常,那么在html
文件夹中会生成一个index.html
文件,打开该文件即可看到CD墙页面。
- 下载Lively
- 打开Lively,点击
Add Wallpaper
,选择上一步生成的index.html
文件 - 点击
Apply
即可将CD墙设置为桌面壁纸
HTML模板主要参考https://github.com/vnyoon/web-magic