python爬取酷狗音乐完整代码
时间: 2023-10-05 10:05:13 浏览: 80
以下是Python爬取酷狗音乐的完整代码:
```python
import requests
import json
def get_music_url(keyword):
search_url = f'http://mobilecdn.kugou.com/api/v3/search/song?format=json&keyword={keyword}&page=1&pagesize=1'
response = requests.get(search_url)
json_data = json.loads(response.text)
song_url = json_data['data']['lists'][0]['play_url']
return song_url
def download_music(url, name):
print('正在下载音乐......')
with open(f'{name}.mp3', 'wb') as f:
f.write(requests.get(url).content)
print('音乐下载完毕')
keyword = input('请输入要搜索的音乐关键字:')
url = get_music_url(keyword)
name = input('请输入要保存的音乐名称:')
download_music(url, name)
```
相关问题
python爬取酷狗音乐top100
要使用Python爬取酷狗音乐Top100,你可以使用requests库发送HTTP请求获取网页内容,然后使用BeautifulSoup库解析网页数据。以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://www.kugou.com/yy/rank/home/1-8888.html' # 酷狗音乐Top100的网址
# 发送HTTP请求获取网页内容
response = requests.get(url)
html = response.text
# 使用BeautifulSoup解析网页数据
soup = BeautifulSoup(html, 'html.parser')
song_list = soup.find_all('li', class_=' ')
# 输出歌曲信息
for song in song_list:
rank = song.find('span', class_='pc_temp_num').text.strip()
name = song.find('a', class_='pc_temp_songname').text.strip()
singer = song.find('a', class_='pc_temp_singer').text.strip()
print(f'排名:{rank} 歌曲:{name} 歌手:{singer}')
```
这段代码会输出酷狗音乐Top100的排名、歌曲名和歌手名。你可以根据自己的需求进行进一步处理和保存数据。
python爬取酷狗音乐
要爬取酷狗音乐,你需要了解以下几个步骤:
1. 分析网页结构,找到需要爬取的信息的位置和对应的 HTML 标签;
2. 使用 Python 的 requests 库发送 HTTP 请求,并获取响应内容;
3. 使用 BeautifulSoup 库解析 HTML 标签,提取需要的信息;
4. 使用正则表达式或其他方法清洗数据;
5. 保存数据到本地或数据库。
以下是一个简单的示例代码,用于爬取酷狗音乐排行榜前 50 名的歌曲名称和歌手名称,并将结果打印出来:
```python
import requests
from bs4 import BeautifulSoup
url = 'http://www.kugou.com/yy/rank/home/1-8888.html?from=rank'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
song_list = soup.find_all('a', class_='pc_temp_songname')
for i in range(50):
song_name = song_list[i].text
artist_name = song_list[i]['title'].split('-')[-1]
print(f'{i+1}. {song_name} - {artist_name}')
```
注意,这只是一个示例代码,实际爬取数据可能需要更复杂的处理。此外,需要注意网站的反爬机制,不要频繁发送请求以避免被封禁。