如何将.HAR/JSON文件转换为可读TXT以提取YouTube直播聊天记录
RechatTool可直接识别原始HAR文件并导出可读TXT格式的直播聊天记录,无需提前手动修改HAR文件格式,具体操作如下:
RechatTool 操作指引
- 下载对应你操作系统的RechatTool版本,直接运行可执行文件启动工具
- 在工具功能页选择「从HAR文件导入」选项,选中你之前导出的
www.youtube.com.har原始文件 - 等待工具完成HAR内容解析,解析完成后选择导出格式为「纯文本(.txt)」
- 自定义设置导出文件的保存路径,确认后即可生成结构清晰、可直接阅读的聊天记录TXT文件,内容默认包含消息发送时间、发送者用户名、消息内容三个核心字段
替代操作方案
如果无法使用RechatTool,可根据自己的操作基础选择以下方案:
代码解析方案(有Python环境可直接用)
- 将下方代码保存为
extract_youtube_chat.py,和你导出的www.youtube.com.har放在同一个文件夹中
import json # 加载HAR文件 with open("www.youtube.com.har", "r", encoding="utf-8") as f: har_content = json.load(f) chat_list = [] # 遍历所有网络请求筛选聊天接口 for req_entry in har_content["log"]["entries"]: if "live_chat/get_live_chat" not in req_entry["request"]["url"]: continue try: resp_data = json.loads(req_entry["response"]["content"]["text"]) chat_actions = resp_data["continuationContents"]["liveChatContinuation"]["actions"] for action in chat_actions: msg_render = action["addChatItemAction"]["item"]["liveChatTextMessageRenderer"] send_time = msg_render["timestampText"]["simpleText"] user_name = msg_render["authorName"]["simpleText"] msg_content = "".join([i["text"] for i in msg_render["message"]["runs"]]) chat_list.append(f"{send_time} {user_name}:{msg_content}") except: pass # 导出为TXT with open("YouTube直播聊天记录.txt", "w", encoding="utf-8") as f: f.write("\n".join(chat_list))
- 打开命令行工具进入该文件夹,执行命令
python extract_youtube_chat.py - 执行完成后,同文件夹下会自动生成整理好的可读聊天记录TXT文件
无代码手动解析方案
- 安装任意本地HAR结构化解析工具,导入原始
www.youtube.com.har文件 - 筛选URL中包含
get_live_chat的接口请求,批量导出所有请求的响应JSON内容 - 从JSON内容中手动提取时间、用户名、消息字段整理为TXT即可
注意:HAR是标准的HTTP请求存档格式,本身为结构化JSON,直接用记事本打开会展示所有网络请求的元数据,包含大量无关内容,因此不要直接修改HAR后缀或另存为TXT,所有操作都必须使用原始导出的HAR文件。
内容的提问来源于stack exchange,提问作者MisterUnit
相关产品推荐
相关产品推荐

