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

使用TikTokApi爬取话题视频时遇JSONDecodeError报错求助

JSONDecodeError 爬取TikTok话题视频时循环环节出错

我使用非官方TikTokApi爬取TikTok话题「dogsoftiktok」的视频,但在遍历tag.videos()的for循环环节持续触发JSONDecodeError,无法正常打印视频ID。

代码示例

from TikTokApi import TikTokApi

with TikTokApi() as api:
  
  tag = api.hashtag(name="dogsoftiktok")

  print(tag.info())

  for video in tag.videos():
    print(video.id)

错误信息

raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

解决方案

  • 升级TikTokApi到最新版本
    旧版本可能存在接口兼容问题,执行以下命令升级:

    pip install --upgrade TikTokApi
    
  • 添加会话验证参数
    TikTok当前要求验证会话才能获取数据,你需要从浏览器TikTok页面的Cookie中提取verifyFp值,添加到API初始化参数中:

    from TikTokApi import TikTokApi
    
    # 替换为你自己的verifyFp值
    verify_fp = "your_verify_fp_value"
    with TikTokApi(custom_verify_fp=verify_fp) as api:
        tag = api.hashtag(name="dogsoftiktok")
        print(tag.info())
        # 限制单次获取数量,降低反爬触发概率
        for video in tag.videos(count=20):
            print(video.id)
    
  • 添加延迟与分批获取
    TikTok有请求频率限制,建议在遍历视频时添加延迟,同时通过count参数分批获取数据:

    import time
    from TikTokApi import TikTokApi
    
    verify_fp = "your_verify_fp_value"
    with TikTokApi(custom_verify_fp=verify_fp) as api:
        tag = api.hashtag(name="dogsoftiktok")
        print(tag.info())
        for video in tag.videos(count=20):
            print(video.id)
            time.sleep(1)  # 每条间隔1秒,避免触发反爬机制
    
  • 捕获异常排查原始响应
    如果问题仍存在,捕获异常并打印原始响应内容,确认返回数据是否为有效JSON:

    from TikTokApi import TikTokApi
    import json
    
    verify_fp = "your_verify_fp_value"
    with TikTokApi(custom_verify_fp=verify_fp) as api:
        tag = api.hashtag(name="dogsoftiktok")
        print(tag.info())
        try:
            videos = tag.videos(count=20)
            for video in videos:
                print(video.id)
        except json.JSONDecodeError as e:
            # 打印原始响应,排查数据异常
            print("原始响应内容:", api.last_response.content)
            print("错误详情:", str(e))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:50:32