如何在循环中分批打印Telegram bot调用API返回的articles数组数据
解决方法
你遇到的是KeyError类型报错,按以下方案修改即可正常遍历输出:
- 遍历前先从API响应中提取
articles数组,不要直接遍历整个响应对象 - 提取字段时使用
get()方法,设置缺省值避免单条数据字段缺失导致程序终止
正确代码示例
# 这里的api_resp替换为你实际调用API拿到的响应字典变量名 article_list = api_resp.get("articles", []) for item in article_list: news_title = item.get("title", "无标题") news_content = item.get("content", "无正文内容") news_pubtime = item.get("publishedAt", "无发布时间") # 打印内容,可根据你的需求调整格式 print(f"新闻标题:{news_title}") print(f"发布时间:{news_pubtime}") print(f"新闻内容:{news_content}") print("-"*50)
报错原因说明
你之前的代码报错有两种常见可能:
- 遍历对象错误:直接遍历了API返回的整体字典,而字典遍历默认取的是键名,用键名去取新闻字段自然找不到对应key
- 字段缺失:部分新闻条目没有你直接用
[]调用的字段,只要有一条数据缺字段就会直接抛出KeyError终止运行
内容的提问来源于stack exchange,提问作者Shubham Kandpal
相关产品推荐
相关产品推荐

