B站 音频 和 弹幕 下载

B站 音频 和 弹幕 下载

这个功能比较老了,在 bilibili 后面加上 jj 两个两个字母,即可访问下载。下载的弹幕用来做数据分析很方便。像是这样:

https://www.bilibilijj.com/video/av9069110/

右边有个下载按钮。


 

在Python中,爬取B(Bilibili)视频弹幕并生成词云通常需要通过几个步骤完成: 1. **安装所需库**:首先,你需要安装`requests`库用于发送HTTP请求,`bs4`库用于解析HTML,以及`pydub`处理音频转文本(因为B弹幕通常是基于视频时间戳显示的),`jieba`进行分词处理,`wordcloud`库用来生成词云。 2. **获取视频信息**:访问视频页面,使用`requests.get()`获取HTML源码,然后通过BeautifulSoup解析出视频ID,以便后续构造URL。 3. **下载弹幕数据**:找到B的API或者使用第三方工具(如`bilibili_api`),根据视频ID获取弹幕字幕文件,它是一个.json格式的数据,包含了弹幕的文字对应的时间点。 4. **提取文字**:遍历弹幕文件,提取每个弹幕的文字内容,忽略非汉字字符。 5. **语音转文本**:如果你想要使用视频声音作为上下文,可以先用`pydub`将音频转换成文本。注意,这一步不是必需的,但可以增加词云的关联度。 6. **分词与统计**:使用`jieba`对提取出来的文字进行分词,并统计每个词语的出现频率。 7. **生成词云**:最后使用`wordcloud`库创建词云图,你可以自定义字体、颜色、大小等参数,展示最常出现的词语。 ```python # 示例代码片段 import requests from bs4 import BeautifulSoup import json from pydub import AudioSegment from jieba import lcut from wordcloud import WordCloud def get_video_info(url): # ... 获取视频ID ... video_id = 'VXXXXXXXXXXXXX' # 替换为你实际的视频ID response = requests.get(f'https://api.bilibili.com/x/v2/dm/get?mid={video_id}&danmu_type=0') data = json.loads(response.text) # 提取文字频次 words = [] for item in data['data']['items']: words.extend(lcut(item['info'])) word_counts = collections.Counter(words) # ... 进行其他处理 ... # 生成词云 wordcloud = WordCloud(...).generate_from_frequencies(word_counts) wordcloud.to_file('bilibili_danmu_wordcloud.png')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值