怎么用python爬取qq音乐
时间: 2023-08-15 15:09:03 浏览: 195
你可以使用Python中的requests库和BeautifulSoup库来爬取QQ音乐。以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
def crawl_qq_music(keyword):
url = f'https://c.y.qq.com/soso/fcgi-bin/client_search_cp?new_json=1&remoteplace=txt.yqq.song&searchid=1&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=20&w={keyword}&g_tk_new_20200303=5381&g_tk=5381&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq.json&needNewCode=0'
headers = {
'Referer': 'https://y.qq.com/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'
}
response = requests.get(url, headers=headers)
data = response.json()
song_list = data['data']['song']['list']
for song in song_list:
song_name = song['name']
singer = song['singer'][0]['name']
print(f'Song: {song_name} Singer: {singer}')
keyword = input('请输入要搜索的歌曲关键词:')
crawl_qq_music(keyword)
```
这段代码首先构造了一个请求URL,将关键词以参数形式传入。然后发送HTTP请求,获取响应数据。使用BeautifulSoup解析数据,提取歌曲名和歌手信息,并打印输出。
请注意,这个示例只是一个简单的爬取QQ音乐的示例,并不涉及登录和认证等复杂操作。在实际应用中,可能需要处理反爬机制、登录认证等问题。此外,爬取网站数据时请遵守相关法律法规和网站的使用规则。
阅读全文