如何用python爬取B站评论区
时间: 2023-10-11 17:07:21 浏览: 295
可以使用 Python 中的 requests 库和 BeautifulSoup 库来爬取 B 站的评论区。以下是一个简单的示例代码:
``` python
import requests
from bs4 import BeautifulSoup
# 视频链接
url = 'https://www.bilibili.com/video/BV1GJ411q7kS'
# 获取视频页面的 HTML
response = requests.get(url)
html = response.text
# 解析 HTML
soup = BeautifulSoup(html, 'html.parser')
# 获取评论区的 iframe
iframe = soup.find('iframe', attrs={'id': 'comment'})
# 获取评论区的链接
comment_url = 'https:' + iframe['src']
# 获取评论区的 HTML
response = requests.get(comment_url)
html = response.text
# 解析 HTML
soup = BeautifulSoup(html, 'html.parser')
# 获取所有评论
comments = soup.find_all('div', attrs={'class': 'comment'})
# 输出所有评论的内容
for comment in comments:
content = comment.find('div', attrs={'class': 'text'}).get_text()
print(content)
```
需要注意的是,B 站的评论区是通过 iframe 嵌入到视频页面中的,因此需要先获取评论区的 iframe,再获取评论区的链接,最后再进行爬取。另外,由于 B 站的评论区是通过 AJAX 动态加载的,因此需要使用 requests 库来模拟请求评论区的数据。
阅读全文