打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python音乐下载器附源码
userphoto

2023.08.24 广东

关注

Python音乐下载器

输入音乐名称,选择对应作者音乐,默认下载到:D:/蓝胖子之家目录下

源码下载:

music.py

import requestsimport jsonimport timeimport sysimport os

def show_progress_bar(): for i in range(1, 51): sys.stdout.write(f'\r{i * 2}% |{'■' * i}') sys.stdout.flush() time.sleep(0.125) sys.stdout.write('\n')

def kugou_music_download(): while True: keyword = input('请输入歌曲名或歌手名(输入'exit'退出程序):') keyword = keyword.strip()
if keyword.lower() == 'exit': print('谢谢使用蓝胖子之家的下载器,程序已退出!') sys.exit()
# 获取搜索结果gequxinxi url = f'https://songsearch.kugou.com/song_search_v2?keyword={keyword}&page=1&pagesize=10&userid=0&clientver=&platform=WebFilter&filter=2&iscorrection=1&privilege_filter=0' response = requests.get(url) search_json_data = json.loads(response.text) music_hash = {} music_id = {} for search_data in search_json_data['data']['lists']: music_hash[search_data['FileName']] = search_data['FileHash'] music_id[search_data['FileName']] = search_data['AlbumID']
# 歌曲列表 music_list = list(music_hash.keys())
# 打印搜索结果 for i in range(len(music_list)): print('{}-:{}'.format(i + 1, music_list[i]))
# 用户选择下载歌曲序号 music_serial_number = int(input('请输入你想下载的歌曲序号:'))
# 获取歌曲下载链接 url = f'https://wwwapi.kugou.com/yy/index.php?r=play/getdata&hash={music_hash[music_list[music_serial_number - 1]]}&album_id={music_id[music_list[music_serial_number - 1]]}&mid=1' response = requests.get(url) music_json_data = json.loads(response.text)
try: # 获取歌曲备用下载链接 music_href = music_json_data['data']['play_backup_url'] music_response = requests.get(music_href) music_content = music_response.content
try: # 创建保存文件夹 os.makedirs('D:/蓝胖子之家', exist_ok=True) except Exception as e: print(e) finally: # 下载歌曲并保存 music_path = f'D:/蓝胖子之家/{music_list[music_serial_number - 1]}.mp3' with open(music_path, 'wb') as f: print('正在下载中...') f.write(music_content) show_progress_bar() print(f'{music_list[music_serial_number - 1]}.mp3 下载成功!')
# 输出下载路径给用户 print(f'歌曲下载路径:{music_path}')
except: print('对不起,没有该歌曲的版权!')

if __name__ == '__main__': print('欢迎使用蓝胖子之家音乐下载器!') print('人工智能Ai网址:http://h5.chat.vip') kugou_music_download() input()

   API: https://songsearch.kugou.com/song_search_v2?keyword=歌曲名或歌手名&page=1&pagesize=10&userid=0&clientver=&platform=WebFilter&filter=2&iscorrection=1&privilege_filter=0

   > 注:keyword 传入的是你要搜索的歌曲名或者歌手名

 解析 json,拿到 `FileName`、`FileHash`、`AlbumID`

2. 歌曲信息

     API:   https://wwwapi.kugou.com/yy/index.php?r=play/getdata&hash=上一个json的FileHash&album_id=上一个json的AlbumID&mid=1

   > 注:hash 的 value 是 FileHash,album_id 的 value 是 AlbumID

解析 json,拿到 `play_backup_url`,这个 `play_backup_url` 就是歌曲的下载地址。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用PHP实现某狗音乐免费下载无损音乐
54首催眠音乐下载 -
十大免费下载音乐网站,免费下载vip收费歌曲
10个免费超高音质的无损音乐下载网站,你的耳朵准备好了吗?
「已验证」5个下载音乐的网站——送给喜欢音乐的你!
【python实现网络爬虫(14)】python爬取酷狗中多类型音乐步骤详解(附全部源代码)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服