Python如何从爬取的多层嵌套复杂JSON文件中提取author_id
报错原因说明
- Python中
json.load加载后的数组结构会转为Python列表,必须通过索引访问,不能直接用点运算符读取属性 - 你提供的JSON存在多层列表嵌套,且部分
tweets_results节点下无data字段,未做空兼容会触发KeyError
可运行代码
import json # 加载本地JSON文件 contents = json.load(open("twitter.json", "r", encoding="utf-8")) author_ids = [] # 逐层遍历嵌套结构 for second_level_list in contents: # 二级列表的第一个元素为存储业务数据的字典 data_dict = second_level_list[0] for tweets_item in data_dict["tweets_results"]: # 仅处理存在data字段的节点,兼容无结果的情况 if "data" in tweets_item: for tweet in tweets_item["data"]: author_ids.append(tweet["author_id"]) # 输出所有提取到的author_id print(author_ids)
样例输出
针对你提供的测试JSON,运行后输出为:['125959599', '521827796']
内容的提问来源于stack exchange,提问作者NPD
相关产品推荐
相关产品推荐

