You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从含多页面的HAR文件提取原始JSON以获取TikTok标签

从HAR文件提取TikTok视频标签的解决方案

核心思路

HAR文件本质就是JSON格式文本,无需依赖第三方转换工具,直接用Python标准库解析即可。关键是筛选出包含TikTok视频数据的请求,再从响应内容中提取标签。

实用Python脚本

import json

def extract_tiktok_tags_from_har(har_file_path):
    # 读取HAR文件
    with open(har_file_path, 'r', encoding='utf-8') as f:
        har_data = json.load(f)
    
    all_tags = []
    # 遍历HAR中所有请求条目
    for entry in har_data['log']['entries']:
        request_url = entry['request']['url']
        # 筛选TikTok视频数据接口(可根据实际抓包结果调整URL特征)
        if '/api/v1/item/detail/' in request_url or '/aweme/v1/feed/' in request_url:
            try:
                # 获取响应的原始JSON内容
                response_content = entry['response']['content']['text']
                if not response_content:
                    continue
                # 解析响应JSON
                response_json = json.loads(response_content)
                # 提取标签(适配TikTok不同接口的返回结构)
                tags = []
                # 处理单视频详情接口
                if 'item_info' in response_json:
                    item = response_json['item_info']['item_struct']
                    if 'text_extra' in item:
                        tags = [extra['hashtag_name'] for extra in item['text_extra'] if 'hashtag_name' in extra]
                # 处理feed流接口
                elif 'aweme_list' in response_json:
                    for aweme in response_json['aweme_list']:
                        if 'text_extra' in aweme:
                            tags.extend([extra['hashtag_name'] for extra in aweme['text_extra'] if 'hashtag_name' in extra])
                if tags:
                    all_tags.extend(tags)
                    # 可选:打印视频ID和对应标签
                    video_id = item.get('aweme_id') if 'item_info' in response_json else aweme.get('aweme_id', '未知')
                    print(f"视频ID {video_id}: {tags}")
            except Exception as e:
                print(f"处理请求 {request_url} 时出错: {str(e)}")
                continue
    # 去重并输出结果
    unique_tags = list(set(all_tags))
    print("\n提取到的所有唯一标签:")
    print(unique_tags)
    # 保存标签到JSON文件
    with open('tiktok_tags.json', 'w', encoding='utf-8') as f:
        json.dump(unique_tags, f, ensure_ascii=False, indent=2)
    print("标签已保存到 tiktok_tags.json")

# 替换为你的HAR文件路径后运行
extract_tiktok_tags_from_har('your_tiktok_har_file.har')

关键注意事项

  • 无需第三方模块:直接用Python自带的json库,避免了第三方工具的兼容性问题
  • 调整URL筛选规则:打开你的HAR文件,查看TikTok视频请求的URL特征,修改脚本中的URL判断条件,确保能匹配到目标请求
  • 适配响应结构:TikTok的接口返回结构可能会更新,可通过Chrome开发者工具查看响应内容,调整标签提取的字段路径(通常标签在text_extra数组的hashtag_name字段中)
  • 大数据处理友好:本地脚本运行,不会像浏览器扩展那样因内存不足崩溃,适合处理大量HAR数据

内容的提问来源于stack exchange,提问作者ThisPotatoGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:15:53