如何从指定API中提取所有新闻titulo字段的列表?
解决API新闻标题列表只返回第一条的问题
你的代码仅返回第一条新闻标题的原因是:在for循环内部每次创建仅包含单个标题的列表,并立即执行return语句——这会让函数在第一次循环迭代时就终止并返回结果,后续的新闻条目根本没机会被处理。
修正后的代码(基础版)
import requests def get_news(): url = "https://www.publico.pt/api/list/ultimas" response = requests.get(url) data = response.json() titulos = [] # 初始化空列表存储所有标题 for news in data: titulos.append(news["titulo"]) # 将每个标题追加到列表中 return titulos # 遍历完成后返回完整列表 print(get_news())
更简洁的列表推导式版本
如果想让代码更紧凑,可以用Python的列表推导式直接生成结果:
import requests def get_news(): url = "https://www.publico.pt/api/list/ultimas" response = requests.get(url) data = response.json() return [news["titulo"] for news in data] print(get_news())
内容的提问来源于stack exchange,提问作者Manuel Carvalhinha
相关产品推荐
相关产品推荐

