爬取网易云音乐一首歌的所有评论
时间: 2023-11-28 17:05:35 浏览: 37
好的,爬取网易云音乐一首歌的所有评论可以分为以下几个步骤:
1. 找到该歌曲的ID
2. 构造评论API的URL
3. 发送请求,获取评论数据
4. 解析评论数据,获取所需信息
下面是具体的代码实现,以Python为例:
```python
import requests
import json
# 1. 找到该歌曲的ID
song_name = "告白气球" # 歌曲名
url = "http://music.163.com/api/search/get/web?csrf_token=" # 搜索API
params = {
's': song_name,
'type': 1,
'offset': 0,
'limit': 1
}
response = requests.get(url, params=params)
result = json.loads(response.text)
song_id = result['result']['songs'][0]['id']
# 2. 构造评论API的URL
url = f'http://music.163.com/api/v1/resource/comments/R_SO_4_{song_id}'
# 3. 发送请求,获取评论数据
headers = {
'Referer': f'http://music.163.com/song?id={song_id}',
'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'
}
params = {
'limit': '20',
'offset': '0'
}
comments = []
while True:
response = requests.get(url, headers=headers, params=params)
result = json.loads(response.text)
comments += result['comments']
if not result['more']:
break
params['offset'] += params['limit']
# 4. 解析评论数据,获取所需信息
for comment in comments:
print(comment['content'])
```
上述代码中,首先通过搜索API找到该歌曲的ID,然后构造评论API的URL,添加请求头,设置每次请求获取的评论数和偏移量,循环发送请求,直到获取所有评论,最后解析评论数据,获取评论内容。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)