用python写搜索音乐的代码
时间: 2023-03-13 19:00:48 浏览: 108
用 Python 写搜索音乐的代码可以使用 Python 的音频处理模块,如 PyAudio 和 Librosa。首先,可以使用 PyAudio 将音频文件转换为数据格式,然后使用 Librosa 将音频数据分离为不同的声音,最后,可以使用音频搜索算法来搜索音乐。
相关问题
写一个python爬取音乐的代码
以下是一个简单的Python爬取音乐的代码,使用了requests和beautifulsoup4库:
```python
import requests
from bs4 import BeautifulSoup
# 输入歌曲名和歌手名
song_name = input("请输入歌曲名:")
singer_name = input("请输入歌手名:")
# 构建歌曲搜索url
url = "https://www.xiami.com/search?key={song_name} {singer_name}".format(song_name=song_name, singer_name=singer_name)
# 发送请求
response = requests.get(url)
# 解析html
soup = BeautifulSoup(response.text, "html.parser")
# 获取歌曲链接
song_link = soup.find("a", attrs={"class": "song_name"})["href"]
# 构建歌曲下载链接
download_url = "https://www.xiami.com/song/gethqsong/sid/{song_id}".format(song_id=song_link.split("/")[-1])
# 发送下载链接请求
download_response = requests.get(download_url)
# 保存歌曲
with open("{song_name} - {singer_name}.mp3".format(song_name=song_name, singer_name=singer_name), "wb") as f:
f.write(download_response.content)
print("下载完成!")
```
需要注意的是,该代码只是一个简单的示例,可能并不适用于所有的音乐网站。在实际使用中,你需要根据目标网站的具体情况进行相应的修改。同时,也需要遵守相关法律法规,不要非法下载和分享音乐。
用python写QQ音乐播放器
好的,下面是一个简单的用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
```
然后,运行上面的代码,输入歌曲名称即可搜索并播放。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)