python爬虫 爬音乐
时间: 2023-09-10 09:11:59 浏览: 43
爬取音乐需要用到爬虫技术和音乐网站的 API 接口。以下是一个简单的 Python 爬虫爬取网易云音乐的示例代码:
```python
import requests
import json
# 获取歌曲信息
def get_song_info(song_id):
url = 'http://music.163.com/api/song/detail/?id={}&ids=[{}]'.format(song_id, song_id)
headers = {
'Referer': 'http://music.163.com/',
'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'}
response = requests.get(url, headers=headers)
data = json.loads(response.text)
song_name = data['songs'][0]['name']
artist_name = data['songs'][0]['artists'][0]['name']
album_name = data['songs'][0]['album']['name']
song_url = 'http://music.163.com/song/media/outer/url?id={}.mp3'.format(song_id)
return song_name, artist_name, album_name, song_url
# 下载歌曲
def download_song(song_id):
song_name, artist_name, album_name, song_url = get_song_info(song_id)
response = requests.get(song_url)
with open(song_name + '.mp3', 'wb') as f:
f.write(response.content)
print('歌曲下载成功!')
# 主程序
if __name__ == '__main__':
song_id = input('请输入需要下载的歌曲ID:')
download_song(song_id)
```
在运行程序时,需要输入要下载的歌曲在网易云音乐中的 ID。程序将会获取歌曲的相关信息并下载歌曲到本地。需要注意的是,该代码仅供学习参考,不得用于商业用途。