python爬取b站弹幕时间
时间: 2023-10-22 12:04:32 浏览: 104
要爬取B站弹幕时间,需要使用B站的API接口,具体步骤如下:
1.打开B站视频页面,按F12打开开发者工具,切换到Network选项卡。
2.在页面上随便点击一下,让页面加载一些数据,观察Network中出现的请求,找到一个GET请求,URL类似于:https://api.bilibili.com/x/v1/dm/list.so?oid=xxxxxxx
3.点击该请求,在右侧的Headers选项卡中找到Request Headers,复制其中的User-Agent和Referer字段。
4.在Python中使用requests库发送GET请求,并加入以上复制的字段,获取弹幕数据。
5.解析获取到的XML格式的弹幕数据,提取其中的时间信息。
以下是示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 设置请求头信息
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',
'Referer': 'https://www.bilibili.com/video/BV1B7411N7hx'
}
# 视频的oid,需要自己找到
oid = '123456'
# 发送GET请求获取弹幕数据
url = f'https://api.bilibili.com/x/v1/dm/list.so?oid={oid}'
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
# 解析XML格式的弹幕数据,提取时间信息
soup = BeautifulSoup(response.text, 'lxml')
d_list = soup.select('d')
for d in d_list:
p = d.get('p')
p_list = p.split(',')
time = p_list[0]
print(time)
```
其中,oid是视频的ID,可以在视频页面的URL中找到,示例中的URL为:https://www.bilibili.com/video/BV1B7411N7hx,其oid为BV1B7411N7hx。
阅读全文