程序笔记   发布时间:2022-07-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了B站英文教学视频的字幕获取 学习必看!大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

最近在B站看一些纯英文的课程,视频课程有的是纯中文字幕的,有的是纯英文字幕的。由于英文的重要性,一份字幕的文档在我们观看后,留着日后粗略再读是很有益处的。但是为了得到这个英文字幕走了许多弯路。最开始竟然用在线AI视频转文本的方式,用了九锤听写(效果相对好),i笛云听(效果相对差)。最后才发现,B站的字幕很多时候都是一个json文件。那我们可以获取这个文件,用python将它的conent(字幕)提取出来,做一个文本文件。

1 cc字幕下载

01.cc字幕是视频下方黑底白字的那一栏,如果没有则不可以下载 02.我们先点开一个有cc字幕的视频,首先关闭cc字幕,并打开调试台(右键点击检查 or F12)的 Network

B站英文教学视频的字幕获取 学习必看!

03.因为一个视频有很多的东西需要传输,这里Network存在很多条信息,我们点击clear让他少一点,之后点击开启字幕,让他传输字幕json文件来,我们发现下面突然出现一个json文件

B站英文教学视频的字幕获取 学习必看!

04.双击json文件,ctrl+A全部复制,并粘贴到一个.txt文件中,后改后缀为.json

B站英文教学视频的字幕获取 学习必看!

另一种方法(简单)

打开视频,并开启字幕,打开控制台的 Network,在Filter里键入json,点击刷新视频即可。

B站英文教学视频的字幕获取 学习必看!

2 python批量json字幕文件转换

我们将需要转换的json文件都放到一个新建的文件夹下,这个文件夹里只有json文件,并且不存在子文件夹。路径名称需要全部英文。

import json
import os

def convert_json_to_txt(json_files_path):    
    json_files = os.listdir(json_files_path) #返回该路径下的json文件列表
    txt_files_path = os.path.join(json_files_path, 'txt') #拼接出在json文件夹中的子txt文件夹 
    isExists = os.path.exists(txt_files_path) #判断这个文件存不存在 不存在建立相应的文件夹 txt
    if not isExists:
        os.mkdir(txt_files_path)
    
    for json_file in json_files:        
        file_name = json_file.replace(json_file[-5:], '.txt') #改变转换后字幕的后缀 .json是5个字符
        file = ''  # 这个变量用来保存数据
        i = 1
        # 将此处文件位置进行修改,加上utf-8是为了避免处理中文时报错
        with open(os.path.join(json_files_path, json_filE), encoding='utf-8') as f:
            datas = json.load(f)# 加载文件数据 json.load()将josn文件对象转换为python字典对象
            f.close()
                    
        for data in datas['body']:
            content = data['content'].replace('n',' ')  # 获取字幕内容 并去除掉里面莫名其妙的换行
            file += content + ' '   # 加入字幕文字
            # 5句话换一行
            if i % 5 == 0 :
                file += 'n'
            i += 1
            
        with open(os.path.join(txt_files_path, file_name), 'w', encoding='utf-8') as f:
            f.write(filE)  # 将数据写入文件
                        
if __name__ == '__main__':   
    json_folder_path = 'F:\Code\json\Json' #json字幕文件的路径(注意路径的格式)
    convert_json_to_txt(json_folder_path)

注意要点

  • 将if name == '@H_953_3@main':里的文件路径改成自己的。
  • 这个程序不要多次使用,用过一次之后就清除对应的json文件,和txt文件夹,否则会报错。或者再次用的时候新建文件夹来存储新的json字幕,再改程序中的路径来用。
  • 电脑里要有python才可以运行脚本

    B站英文教学视频的字幕获取 学习必看!

    B站英文教学视频的字幕获取 学习必看!

os.listdir('C:\')
['$360Section', '$Recycle.bin', '$WinREAgent', 'AMD', 'Documents and SetTings', 'DumpStack.log.tmp', 'hiberfil.sys', 'hp', 'inetpub', 'Intel', 'KRECYCLE', 'pagefile.sys', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'QMDownload', 'Recovery', 'SDKTemp', 'swapfile.sys', 'SWSetup', 'System Volume Information', 'SYSTEm.SAV', 'Users', 'Windows', 'Windows.old']
os.path.join('C:\','txt')
'C:\txt'
os.path.join('C:\a','txt')
'C:\a\txt'
os.path.exists('C:\a\txt')
false

简书 攻城老湿 csdn pengjunlee 使用Python解析JSON

大佬总结

以上是大佬教程为你收集整理的B站英文教学视频的字幕获取 学习必看!全部内容,希望文章能够帮你解决B站英文教学视频的字幕获取 学习必看!所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。