1、在 Google 浏览器 输入:https://www.bilibili.com/video/av60604193
2、右键,查看网页源代码 ,查找 cid :
3、在 Google 浏览器 输入:https://comment.bilibili.com/105487088.xml
4、弹幕数据所在的标签参数内容解读
<d p="138.20700,4,25,16711680,1564226963,0,1b4df62a,19443109448384516">看完回来告诉你们,一定要去看</d>
参数 | 解析 |
138.20700 | 弹幕出现的时间(以秒为单位) |
4 | 弹幕类型(1-跑马灯,4-底部) |
25 | 字体 |
16711680 | 颜色 |
564226963 | Unix时间戳,基准时间为 1970.01.01,日期=(Unix时间戳+83600)/86400+70365+闰天 |
0 | 弹幕池(0-普通池 1-字幕池 2-特殊池) |
1b4df62a | 用户ID |
19443109448384516 | 唯一标识 |
5、参考代码:
import requests
from bs4 import BeautifulSoup
from datetime import datetime
import pandas as pd
url = 'https://comment.bilibili.com/105487088.xml' # 弹幕文档地址
r = requests.get(url) # 网页的请求
r.encoding = 'utf-8' #设置编码,以防中文乱码
soup = BeautifulSoup(r.text,'lxml') #解析网址
ds = soup.find_all('d') # 查找所有的 d 标签
data_list = []
for d in ds:
dic = {}
dic['内容'] = d.text #获取弹幕内容
dic['时间'] = datetime.fromtimestamp(int(d['p'].split(',')[4])) # 把时间戳 转换为 当时发弹幕的时间
data_list.append(dic)
df = pd.DataFrame(data_list) # 转换为 DataFrame 格式
df.to_csv('弹幕内容.csv') #保存数据到本地
6、可查看保存到本地的数据