Linux语法快速提取b站字幕

自己学习了一些Linux语法快速将字幕的文字内容提取处理。

下面是手动提取b站字幕的过程,借用了b站博主方法,但是包含了大量其他信息,且博主的提取网站经常访问不上,所以我想了个Linux的提取方法。

记住要检查字幕是否打开,刷新之后有些字幕会关闭。

下面链接内的内容最好是用ai_subtitle,不打完打个ai_sub也行,但是有部分视频只能搜json。

<a href="https://www.bilibili.com/read/cv27964896/?spm_id_from=333.999.0.0">快速提取视频字幕!适用B站、AI字幕等等</a>

1.Linux语法快速提取字幕内容

我们需要首先将字幕的内容放到1.txt中

2f912de54c554d029994fc017f8841c7.png

| 表示管道,上一条命令的输出,作为下一条命令参数(输入)
sed -n '/"content": "/p'1.txt 可以理解为寻找文本中带有"content": "字段的行
sed 's/"content": "//g' 一个固定格式可以理解为:sed 's/要替换的字符串/新的字符串/g' 

>表示重定向,我们把前面的内容定向输入到2.txt中。


sed -n '/"content": "/p' 1.txt | sed 's/"content": "//g' | sed 's/"//g'  >2.txt

这句话可以直接提取弹幕的准确内容而不包含其他内容。

大家如果只想提取内容用上面一句话就行,下面是我的一点点想法

2.获取目标内容所在的时间

grep -n 搜索内容 1.txt

搜索目的内容的行号,搜索的行号后面有用,搜索内容需要在视频字幕中存在,可以看2.txt或者自己认为里面会有的内容。

根据观察

ec10aa0341354a5c87f37f094896f8cc.png

他的起始时间from在文本的前面第四行,结束时间to在文本的前面第三行

查看文件1.txt的指定行

sed -n '1944,1945p' 1.txt   

其中是1944,1945是查看第1944,1945行的内容,我们可以自己计算目标内容时间的行数,查看目标内容所在视频内容的时间。

from后面是字幕起始时间,其中326.439的326是秒,换算成b站的时间是05:26其中05是分,26是秒,我们用这个from后换算完的时间就行。

3.跳转时间

可以在利用上面方式换算出来的时间发布在弹幕或者评论区点击跳传。

9c1ff9319f484baead2f791419762140.png

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值