写一个爬取QQ音乐爬虫
时间: 2024-03-28 16:29:09 浏览: 83
python爬虫:爬取某音乐平台的音乐
好的,以下是一个简单的爬取QQ音乐的Python爬虫:
``` python
import requests
from bs4 import BeautifulSoup
# 设置请求头
headers = {
'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',
'Referer': 'https://y.qq.com/portal/search.html'
}
# 设置URL和参数
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': '10',
'w': '周杰伦',
'g_tk': '5381',
'loginUin': '0',
'hostUin': '0',
'format': 'json',
'inCharset': 'utf8',
'outCharset': 'utf-8',
'notice': '0',
'platform': 'yqq.json',
'needNewCode': '0'
}
# 发送GET请求
response = requests.get(url, headers=headers, params=params)
response_json = response.json()
# 解析JSON数据
song_list = response_json['data']['song']['list']
for song_info in song_list:
song_name = song_info['name']
singer_name = song_info['singer'][0]['name']
print(song_name + ' - ' + singer_name)
```
这个爬虫可以搜索指定歌手的歌曲,解析返回的JSON数据,然后输出歌曲名称和歌手名称。你可以根据自己的需求修改参数和解析逻辑。注意要尊重网站的反爬措施,不要频繁发送请求。
阅读全文