用python写QQ音乐播放器
时间: 2023-10-15 12:07:26 浏览: 27
好的,下面是一个简单的用Python写的QQ音乐播放器的示例:
```python
import requests
import json
import os
from playsound import playsound
# 搜索歌曲
def search_song(name):
url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp'
params = {
'ct': '24',
'qqmusic_ver': '1298',
'new_json': '1',
'remoteplace': 'sizer.yqq.song_next',
'searchid': '64405487069162918',
't': '0',
'aggr': '1',
'cr': '1',
'catZhida': '1',
'lossless': '0',
'flag_qc': '0',
'p': '1',
'n': '20',
'w': name,
'g_tk_new_20200303': '5381',
'g_tk': '5381',
'loginUin': '0',
'hostUin': '0',
'format': 'json',
'inCharset': 'utf8',
'outCharset': 'utf-8',
'notice': '0',
'platform': 'yqq.json',
'needNewCode': '0'
}
res = requests.get(url, params=params)
data = json.loads(res.text)
if data['code'] == 0:
songs = data['data']['song']['list']
for i, song in enumerate(songs):
print(f"{i + 1}. {song['name']} - {song['singer'][0]['name']}")
return songs
else:
print("搜索失败!")
return None
# 播放歌曲
def play_song(song):
vkey_url = 'https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg'
params = {
'format': 'json',
'platform': 'yqq',
'cid': '205361747',
'songmid': song['mid'],
'filename': f'C400{song["mid"]}.m4a',
'guid': '126548448'
}
headers = {
'Referer': 'https://y.qq.com/portal/player.html',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
res = requests.get(vkey_url, params=params, headers=headers)
data = json.loads(res.text)
if data['code'] == 0:
vkey = data['data']['items'][0]['vkey']
song_url = f'https://dl.stream.qqmusic.qq.com/C400{song["mid"]}.m4a?vkey={vkey}&guid=126548448&uin=0&fromtag=66'
playsound(song_url)
else:
print("播放失败!")
# 主函数
if __name__ == '__main__':
while True:
name = input("请输入歌曲名称:")
songs = search_song(name)
if songs:
index = input("请输入要播放的歌曲序号:")
if index.isdigit() and 1 <= int(index) <= len(songs):
play_song(songs[int(index) - 1])
else:
print("输入有误,请重新输入!")
```
你需要安装 `requests` 和 `playsound` 库,可以使用 `pip` 命令安装:
```
pip install requests
pip install playsound
```
然后,运行上面的代码,输入歌曲名称即可搜索并播放。