请写一段python爬取B站视频弹幕发布的时间,并进行可视化的代码
时间: 2024-03-15 07:45:31 浏览: 217
好的,以下是一个爬取 B 站视频弹幕发布时间并进行可视化的 Python 代码:
```python
import datetime
import matplotlib.pyplot as plt
import bilibili_api
from bilibili_api import video
# 视频的 av 号
av_number = 123456
# 获取弹幕数据
danmaku_data = video.get_danmaku(av_number)
# 提取弹幕发布时间
danmaku_time = []
for danmaku in danmaku_data:
time_str = danmaku['time']
time_float = float(time_str)
time_stamp = datetime.datetime.fromtimestamp(time_float)
danmaku_time.append(time_stamp)
# 统计弹幕数量和发布时间
danmaku_count = []
danmaku_time_dict = {}
for time_stamp in danmaku_time:
time_str = time_stamp.strftime('%Y-%m-%d %H:00:00')
if time_str in danmaku_time_dict:
danmaku_time_dict[time_str] += 1
else:
danmaku_time_dict[time_str] = 1
for time_str in sorted(danmaku_time_dict.keys()):
danmaku_count.append(danmaku_time_dict[time_str])
# 绘制可视化图表
plt.figure(figsize=(12, 6))
plt.plot(danmaku_time_dict.keys(), danmaku_count)
plt.xlabel('发布时间')
plt.ylabel('弹幕数量')
plt.title('B 站视频弹幕发布时间分布')
plt.xticks(rotation=45, ha='right')
plt.show()
```
这段代码会首先通过 `Bilibili-API` 库获取指定视频的弹幕数据,然后提取弹幕发布时间,并统计每个小时内的弹幕数量。最后使用 `matplotlib` 库绘制发布时间和弹幕数量的可视化图表。需要注意的是,这里的时间是按小时统计的,如果需要按其他时间粒度统计,可以修改代码中的 `strftime` 方法参数。
阅读全文
相关推荐















