es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

NewsAPI siempre se encuentra con un KeyError.

Estoy tratando de codificar una GUI con Tkinter que muestre las últimas 5 noticias principales obtenidas de NewsAPI. Cada vez que lo ejecuto, obtengo el siguiente error:

Traceback (most recent call last):
  File "/Users/isabelleschmit/PycharmProjects/Finalproject/News-App.py", line 48, in <module>
    getNews()
  File "/Users/isabelleschmit/PycharmProjects/Finalproject/News-App.py", line 12, in getNews
    articles = news["articles"] #obteniendo los artículos como datos desde la URL
KeyError: 'articles'

¿Qué estoy haciendo mal?

Aquí está mi código:

“`python
import requests
import tkinter as tk #para crear una GUI

def getNews():
api_key = "hidden"
url = "https://newsapi.org/v2/top-headlines?country=us&apiKey="+api_key
news=requests.get(url).json()

<pre><code>articles = news["articles"]

my_articles = []
my_news = ""

for article in articles:
my_articles.append(article["title"])

#creando un bucle para mostrar las 5 noticias principales
for i in range(5):
my_news = my_news + str(i+1) + ". " + my_articles[i] + "\n"

#imprimir datos dentro de la GUI
label.config(text = my_news)
</code></pre>

#definir el lienzo de la GUI
canvas = tk.Tk()
canvas.geometry("900×600")
canvas.title("Tus últimas noticias")

button = tk.Button(canvas, font = 25, text = "Actualizar mis noticias", command = getNews)
button.pack(pady = 25)

label = tk.Label(canvas, font = 20, justify = "left")
label.pack(pady = 25)

#llamar a la función
getNews()

#crear un bucle
canvas.mainloop()
“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El error se produce debido a que la API no devuelve ningún dato con la clave “artículos”. Esto podría deberse a varios factores, como una clave API incorrecta, URL incorrecta o un problema con el punto final. Para solucionar el problema, intente imprimir la variable “news” antes de intentar acceder a la clave “artículos” para asegurarse de que la API devuelve datos en el formato correcto. Además, verifique que la clave API sea correcta y que la URL tenga el formato correcto con la clave API incluida.

Comments are closed.