爬取bilibili评论代码Python
时间: 2023-10-07 20:08:36 浏览: 108
以下是爬取B站视频评论的Python代码:
```python
import requests
import json
# 视频av号
aid = '视频av号'
# 获取评论API
url = f'https://api.bilibili.com/x/v2/reply?pn=1&type=1&oid={aid}&sort=0'
# 请求头
headers = {
'Referer': f'https://www.bilibili.com/video/{aid}',
'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'
}
# 发送请求
response = requests.get(url, headers=headers)
# 解析json数据
data = json.loads(response.text)
# 获取评论列表
comments = data['data']['replies']
# 遍历评论列表,输出评论
for comment in comments:
print(comment['content']['message'])
```
将代码中的视频av号替换为你想要爬取评论的B站视频av号即可。注意,B站API有请求频率限制,一定时间内请求过多会被封禁IP,所以最好加上请求延时。
相关问题
爬取bilibili代码python
你可以使用 Python 的 requests 库和 BeautifulSoup 库来爬取 Bilibili 的数据。以下是一个简单的示例代码,可以获取某个视频的标题和弹幕数量:
```python
import requests
from bs4 import BeautifulSoup
# 视频的 av 号
aid = 'av123456'
# 发送 GET 请求,获取页面内容
url = f'https://www.bilibili.com/video/{aid}'
response = requests.get(url)
html = response.content
# 解析页面内容,获取标题和弹幕数量
soup = BeautifulSoup(html, 'html.parser')
title = soup.find('h1', {'class': 'video-title'}).text.strip()
danmaku = soup.find('span', {'class': 'dm-num'}).text.strip()
# 输出结果
print(f'标题:{title}')
print(f'弹幕数量:{danmaku}')
```
你可以根据自己的需求,修改代码来获取其他信息。但是需要注意的是,网站的数据是有版权和隐私保护的,不要恶意爬取或者泄露用户隐私。
帮我写爬取bilibili弹幕的python代码
你好,我可以回答这个问题。以下是一个简单的 Python 代码,可以爬取 Bilibili 视频的弹幕:
```python
import requests
import json
# 视频的 BV 号
bv = "BV1sE411H7qW"
# 获取弹幕 XML
url = f"https://api.bilibili.com/x/v1/dm/list.so?oid={bv}"
response = requests.get(url)
xml = response.content.decode("utf-8")
# 解析 XML,获取弹幕文本
from xml.dom.minidom import parseString
dom = parseString(xml)
dms = dom.getElementsByTagName("d")
texts = [dm.childNodes[].data for dm in dms]
# 输出弹幕文本
print(texts)
```
请注意,这个代码只是一个简单的示例,实际上爬取弹幕可能需要更复杂的处理,例如解析弹幕中的时间、发送者等信息。同时,请注意遵守 Bilibili 的相关规定,不要滥用爬虫。
阅读全文