请写一段爬取微博评论的代码
时间: 2024-02-01 13:12:53 浏览: 92
以下是一个简单的爬取微博评论的 Python 代码:
```python
import requests
import json
# 定义函数,爬取微博评论
def get_comments(weibo_id):
url = 'https://m.weibo.cn/comments/hotflow?id=' + weibo_id + '&mid=' + weibo_id + '&max_id_type=0'
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'
}
comments = []
# 循环爬取每一页评论
while True:
response = requests.get(url, headers=headers)
data = json.loads(response.text)
if data['ok'] == 0:
break
for comment in data['data']['data']:
comments.append(comment['text'])
max_id = data['data']['max_id']
url = 'https://m.weibo.cn/comments/hotflow?id=' + weibo_id + '&mid=' + weibo_id + '&max_id=' + str(max_id) + '&max_id_type=0'
return comments
# 调用函数,爬取指定微博的评论
weibo_id = '1234567890' # 替换成指定微博的 ID
comments = get_comments(weibo_id)
# 输出爬取到的评论
for comment in comments:
print(comment)
```
这段代码使用了 requests 库和 json 库来进行网络爬取和数据解析。其中,get_comments() 函数接受一个微博 ID 作为参数,返回该微博的所有评论。函数中使用了一个 while 循环来不断爬取下一页评论,直到没有更多评论为止。在每一页评论中,我们只提取了评论的文本信息,并将其存储在一个列表中。最后,我们遍历该列表,输出所有评论的文本信息。
阅读全文