用python爬取网易云音乐下载到本地
时间: 2024-05-25 20:09:38 浏览: 178
可以使用Python的第三方库requests和BeautifulSoup来爬取网易云音乐的歌曲信息,再利用requests库下载歌曲到本地。
以下是爬取网易云音乐并下载歌曲到本地的代码示例:
```
import requests
from bs4 import BeautifulSoup
# 定义请求头信息
headers = {
'Referer': 'http://music.163.com',
'Host': 'music.163.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
# 定义函数获取歌曲ID
def get_song_id(url):
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'lxml')
song_id = soup.find('a', class_='u-btni u-btni-dl')['data-res-id']
return song_id
# 定义函数下载歌曲
def download_song(song_id, song_name):
url = 'http://music.163.com/song/media/outer/url?id={}.mp3'.format(song_id)
response = requests.get(url, headers=headers)
with open(song_name+'.mp3', 'wb') as f:
f.write(response.content)
print('下载完成')
# 输入歌曲链接
url = input('请输入网易云音乐歌曲链接:')
# 获取歌曲ID
song_id = get_song_id(url)
# 下载歌曲到本地
song_name = input('请输入歌曲名称:')
download_song(song_id, song_name)
```
相关问题:
1. Python如何爬取网页?
2. 如何使用Python中的BeautifulSoup库解析HTML文档?
3. Python中如何下载网络资源?
阅读全文