python爬取微博评论
时间: 2023-10-05 22:11:08 浏览: 95
要爬取微博评论,首先需要获取到微博的评论接口和相应的参数。可以通过浏览器的开发者工具来查看网络请求获取这些信息。
接下来,可以使用Python中的requests库向评论接口发送请求,获取评论数据。需要注意的是,微博评论接口需要登录才能访问,因此需要先登录微博并获取登录后的cookie,将其加入请求头中。
以下是一个简单的示例代码,爬取某条微博的前10页评论:
```python
import requests
import json
# 登录后的cookie
cookie = 'your cookie here'
# 微博id
weibo_id = 'your weibo id here'
# 请求头
headers = {
'Cookie': cookie,
'Referer': f'https://m.weibo.cn/detail/{weibo_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',
'X-Requested-With': 'XMLHttpRequest'
}
# 微博评论接口
url = f'https://m.weibo.cn/comments/hotflow?id={weibo_id}&mid={weibo_id}&max_id_type=0'
# 爬取前10页评论
for page in range(1, 11):
# 构造请求参数
params = {
'max_id': '',
'max_id_type': '0',
'page': page
}
# 发送请求
response = requests.get(url, headers=headers, params=params)
data = json.loads(response.text)
# 提取评论数据
comments = data['data']['data']
for comment in comments:
print(comment['text'])
```
需要将代码中的`your cookie here`和`your weibo id here`替换为自己的cookie和微博id。同时,需要注意的是,微博评论接口的返回数据是经过加密的,需要解密才能得到真实数据。如果需要解密,可以使用微博官方提供的加密算法进行解密,或者使用第三方库进行解密。
阅读全文