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

Python读取Twitter历史JSON文件时出现UnicodeDecodeError报错求助

解决Twitter导出tweet.js的UnicodeDecodeError问题

嘿,我之前也碰到过完全一样的问题!你遇到的UnicodeDecodeError根源很简单:Python默认会用系统的默认编码(Windows上就是cp1252)去读取文件,但Twitter导出的tweet.js是UTF-8编码的,里面包含了emoji这类cp1252无法识别的特殊字符,自然就解码失败了。

另外还要给你提个隐藏坑:Twitter导出的tweet.js其实不是标准JSON文件——它开头会有一段window.YTD.tweet.part0 = 的前缀代码,就算解决了编码问题,直接用json.load()读取还是会报JSON解析错误,得一起处理掉。

给你个修复后的完整代码:

import json

with open('tweet.js', 'r', encoding='utf-8') as json_file:
    # 先读取全部内容,剥离开头的非JSON前缀
    raw_content = json_file.read()
    # 定位纯JSON数据的起始和结束位置
    start_pos = raw_content.find('{')
    end_pos = raw_content.rfind('}') + 1
    clean_json = raw_content[start_pos:end_pos]
    # 解析JSON数据
    tweet_data = json.loads(clean_json)
    print(tweet_data)

两个关键修复点:

  • 打开文件时明确指定encoding='utf-8',确保能正确解码包含emoji、特殊符号的推文内容
  • 移除Twitter额外添加的前缀代码,只保留标准的JSON结构部分,让json.loads()可以正常解析

这样运行之后应该就能顺利加载你的推文数据,接下来就可以尽情做数据分析啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:12:52