编写爬取微博评论的代码
时间: 2023-10-25 15:29:57 浏览: 73
好的,下面是一个简单的 Python 代码示例,用于爬取指定微博的评论:
1. 导入必要的库
```
import requests
from bs4 import BeautifulSoup
```
2. 指定要爬取的微博链接和评论页数
```
weibo_url = 'https://weibo.com/xxxxxx/xxxxxxxxx'
page_count = 10 # 评论页数,每页最多显示20条评论
```
请替换 `weibo_url` 为你要爬取的微博链接,`page_count` 为你要爬取的评论页数。
3. 定义函数 `get_comments()`,用于获取指定页数的评论
```
def get_comments(url, page):
# 构造请求链接
query_url = url + '?page=' + str(page)
# 发送 GET 请求
response = requests.get(query_url)
# 解析 HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 获取评论区域
comment_area = soup.find('div', {'class': 'comment_list'})
# 获取所有评论
comments = comment_area.find_all('div', {'class': 'list_li S_line1 clearfix'})
# 遍历评论列表
for comment in comments:
# 获取评论人和评论内容
comment_user = comment.find('a', {'class': 'W_texta W_fb'}).text
comment_text = comment.find('div', {'class': 'WB_text'}).text.strip()
print(comment_user + ': ' + comment_text)
```
该函数接受两个参数:微博链接和评论页数。它会发送 GET 请求,获取指定页数的评论,并将评论人和评论内容打印出来。
4. 循环调用函数 `get_comments()`,获取所有评论
```
for page in range(1, page_count + 1):
get_comments(weibo_url, page)
```
该循环会依次调用函数 `get_comments()`,获取指定页数的评论,并打印出来。
请注意,爬取他人微博评论可能会涉及到隐私问题,建议在合法的前提下使用该代码。
阅读全文