admin管理员组文章数量:1633313
当然可以!以下是你的博客文章的Markdown格式:
使用Python从酷狗音乐网站下载音乐
!!!本程序仅供学习参考
1. 程序介绍
这个程序使用了Python的requests库,以及一些哈希算法来实现从酷狗音乐网站搜索歌曲并下载的功能。下面是它的主要功能:
- 从酷狗音乐网站搜索歌曲
- 展示搜索结果列表
- 选择并下载指定的歌曲
2. 代码实现
# 代码实现部分,包括get_signature、get_list、show_list、save_music等函数的实现
import json
import time
from hashlib import md5
import requests
def get_signature(text):
new_md5 = md5()
new_md5.update(text.encode(encoding='utf-8'))
signature = new_md5.hexdigest()
return signature
def get_list(keyword):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.47'
}
mid = 'ccc842dce7da774774ce9278c0591119'
url = 'https://complexsearch.kugou/v2/search/song?callback=callback123&srcappid=2919&clientver=1000&clienttime={time}&mid={mid}&uuid={mid}&dfid=0R7g5f2OX6eY2EBfN92rrRN0&keyword={keyword}&page=1&pagesize=30&bitrate=0&isfuzzy=0&inputtype=0&platform=WebFilter&userid=0&iscorrection=1&privilege_filter=0&filter=10&token=&appid=1014&signature={signature}'
key_code = 'NVPh5oo715z5DIWAeQlhMDsWXXQV4hwtappid=1014bitrate=0callback=callback123clienttime={time}clientver=1000dfid=0R7g5f2OX6eY2EBfN92rrRN0filter=10inputtype=0iscorrection=1isfuzzy=0keyword={keyword}mid={mid}page=1pagesize=30platform=WebFilterprivilege_filter=0srcappid=2919token=userid=0uuid={mid}NVPh5oo715z5DIWAeQlhMDsWXXQV4hwt'
millis = str(round(time.time() * 1000))
p = key_code.format(time=millis, mid=mid, keyword=keyword)
signature = get_signature(p)
search_url = url.format(keyword=keyword, time=millis, signature=signature, mid=mid)
# print(search_url)
list_res = requests.get(search_url, headers=headers)
return list_res
def show_list(song_list):
for i, song in enumerate(song_list):
print(f'{i + 1}---{song.get("SongName")}---{song.get("EMixSongID")}')
def save_music(num, song_list):
info_url = f'https://wwwapi.kugou/yy/index.php?r=play/getdata&encode_album_audio_id={song_list[int(num) - 1].get("EMixSongID")}'
headers2 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.47',
'Cookie': 'kg_mid=ccc842dce7da774774ce9278c0591119; kg_dfid=0R7g5f2OX6eY2EBfN92rrRN0; kg_dfid_collect=d41d8cd98f00b204e9800998ecf8427e; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1696760245; Hm_lpvt_aedee6983d4cfc62f509129360d6bb3d=1696762195'
}
info_res = requests.get(info_url, headers=headers2)
m_url = info_res.json()['data']['play_url']
m_res = requests.get(m_url, headers=headers2)
with open('test.mp3', 'wb') as f:
f.write(m_res.content)
if __name__ == "__main__":
keyword = input('请输入歌曲名称\n')
list_res = get_list(keyword)
song_list = json.loads(list_res.text[12:-2])['data']['lists']
show_list(song_list)
num = input('请输入下载第几首\n')
save_music(num, song_list)
3. 如何使用
要使用这个程序,你只需要运行它,并输入你想要下载的歌曲名称。程序将会展示搜索结果列表,然后你可以输入要下载的歌曲序号,程序会自动下载并保存音乐文件。
4. 注意事项
需要注意的是,网站的数据获取和下载行为需要遵守相关的法律法规和网站的使用条款。请在合法的范围内使用这个程序。
版权声明:本文标题:使用Python从酷狗音乐网站下载音乐 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729159774a1188225.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论