请用python 3.9 编写爬取网易云2023年度音乐榜单 并下载到桌面 的代码
时间: 2024-06-08 13:08:55 浏览: 83
好的,以下是使用 Python 3.9 编写的爬取网易云2023年度音乐榜单并下载到桌面的代码:
```python
import requests
import os
# 设置请求头
headers = {
'Referer': 'https://music.163.com/',
'Host': '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.3'
}
# 发送 GET 请求获取榜单数据
url = 'https://music.163.com/api/toplist/detail?topId=2023'
response = requests.get(url, headers=headers)
data = response.json()
# 解析数据获取歌曲列表
songs = data['playlist']['tracks']
# 创建保存歌曲的文件夹
folder_name = '2023年度音乐榜单'
if not os.path.exists(folder_name):
os.mkdir(folder_name)
# 遍历歌曲列表下载歌曲
for song in songs:
song_name = song['name']
artist_name = song['artists'][0]['name']
file_name = f'{artist_name} - {song_name}.mp3'
file_path = os.path.join(folder_name, file_name)
song_url = f'https://music.163.com/song/media/outer/url?id={song["id"]}.mp3'
# 下载歌曲
response = requests.get(song_url, headers=headers)
with open(file_path, 'wb') as f:
f.write(response.content)
# 下载完成提示
print('下载完成!')
```
以上代码会将榜单上的所有歌曲下载到桌面的“2023年度音乐榜单”文件夹中。请确保您已经安装了 requests 库。
阅读全文