调用Twitter API返回JSON后提取指定数据报TypeError如何解决
问题解决方法
错误原因
你调用的Twitter v1.1 users/lookup接口支持批量查询多个用户,因此返回结果默认是列表类型,哪怕仅查询单个用户,用户信息字典也会被包裹在列表中。你直接对列表使用字符串键id进行索引,不符合Python语法规则,因此抛出类型错误。
修复步骤
- 先判断返回的列表是否为空,避免查询的用户不存在时出现索引越界报错
- 从列表中取出第一个元素(索引为0)后,再读取
id字段 - 可选:添加接口响应状态校验,避免请求失败时解析JSON报错
修改后的代码
import requests username = input("Twitter Lookup: ") url = "https://api.twitter.com/1.1/users/lookup.json?screen_name=" + username page = requests.get(url, headers={"Authorization":"my auth here"}) # 先校验请求是否成功 if page.status_code == 200: account_list = page.json() # 判断返回的用户列表是否为空 if account_list: account = account_list[0] print(account['id']) else: print("未查询到对应用户信息") else: print(f"接口请求失败,状态码:{page.status_code}")
内容的提问来源于stack exchange,提问作者flood
相关产品推荐
相关产品推荐

