视频字幕获取及处理方法(以中国大学MOOC视频为例 )

最近因为学校上网课,需要做笔记和写电子作业,这作业(ಥ_ಥ) 一句句的字幕转文字工作量大还感觉浪费时间,于是到处查找了博主的一些帖子,学习经验,尝试成功,分享给大家(✪ω✪)

1 字幕获取

①首先,打开你需要进行操作的视频(只能是有字幕的才可以提取字幕),如
https://www.icourse163.org/learn/WHU-1001717004?tid=1450259448#/learn/content?type=detail&id=1214521515&sm=1
②在视频页面按F12键,然后点击network,接着按ctrl+F会出来搜索框,然后在当前页面按F5刷新该页面(也可以点击浏览器的刷新按钮)

③在搜索框中输入:downloadVideoSrt.htm,进行搜索,然后双击搜索到的链接,右边会显示一条黄色代码,复制代码中url后的地址到浏览器中即可下载该视频的字幕文件,一般为txt文件。
在这里插入图片描述

2字幕处理

字幕文件默认命名videoSrt,内容如图在这里插入图片描述
由图片我们可以明显看到我们不需要的是空行,序号1、2…和时间,
所以去掉这些只留下文字。
代码分享:
21是下载下来的字幕文件的重命名,2-1是处理后文件名字,可以对应修改。

# coding = utf-8
import re
def clearBlankLine():
    file1 = open('21.txt', 'r', encoding='utf-8') # 打开要处理的文件
    file2 = open('2-1.txt', 'w', encoding='utf-8') # 生成处理后文件
    line = file1.readline()
    fileContent = ""
    while(line):##一行行循环处理
        try:    # 如果本行只有数字,则跳过本行,继续处理一下行
            int(line)
            line = file1.readline()
            continue##跳出本次循环
        except ValueError:
            pass
        line = re.sub(r'\d{2}:\d{2}:\d{2},\d+', '', line)
        # line= re.sub(r'\d+\n', '', line)
        line = line.replace("-->", "").replace("\n", "")##字符替换
        fileContent = fileContent + line
        line = file1.readline()
        resultContent =fileContent + "\n\n"
    print(resultContent)
    file2.write(resultContent)
    file1.close()
    file2.close()
if __name__ == '__main__':
    clearBlankLine()

结果如图:
在这里插入图片描述
处理前与处理后对比:
在这里插入图片描述
对于文字格式没有首行缩进和段落回车啊,只能人为处理啦
有遇到问题的小伙伴们也可以评论交流~
学习及灵感结合参考文献:
利用python去除txt文件里的空行 - 简书 https://www.jianshu.com/p/85b0d3891f00
中国大学MOOC 视频字幕获取方法_网络_weixin_33281070的博客-CSDN博客 https://blog.csdn.net/weixin_33281070/article/details/80889984?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
中国大学MOOC 视频字幕获取及处理方法_网络_晓华的博客-CSDN博客 https://blog.csdn.net/sinat_29694963/article/details/100101435?utm_source=app

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值