Búsqueda de sitios web

Una sencilla aplicación de noticias con Tkinter y Newsapi


Tkinter es una biblioteca de Python que se utiliza para crear aplicaciones de escritorio para sistemas operativos basados en Windows y UNIX. Tkinter ofrece muchas opciones para crear un widget para la aplicación. El mismo widget se puede crear de diferentes maneras usando Tkinter.

Hoy en día existen vastas fuentes de información disponibles en Internet. Las noticias llegan constantemente de fuentes globales a fuentes locales. Estar al tanto de las últimas noticias es una tarea desalentadora. En este artículo, crearemos una aplicación de noticias sencilla con Tkinter y Newsapi.

¿Qué es Newsapi?

News API es una (interfaz de programación de aplicaciones) que brinda acceso a artículos de noticias y noticias de última hora en todo el mundo a través de la API web JSON. La API de noticias simplemente ofrece una API REST que los desarrolladores pueden usar para obtener simplemente todos los artículos de noticias, titulares, etc. en formato JSON.

Cómo crear su clave API

  • Para utilizar News API, debe crear su clave API yendo al sitio web de News API.

  • Haga clic en el botón GetApiKey en la esquina superior derecha.

  • Rellena tus datos básicos en el formulario que aparece.

  • Una vez que envíe sus datos básicos, se completará su registro y se le entregará su clave API.

Pasos para crear una aplicación web usando Tkinter y Newsapi

Paso 1: instale Tkinter y News Api

Antes de comenzar a implementar la aplicación web, debe instalar la biblioteca Tkinter y la API de noticias en Python. Abra el símbolo del sistema o la terminal y escriba el comando de instalación de pip.

pip install tk
pip install newsapi-python

Pip es un administrador de paquetes de Python. Los comandos anteriores instalan tkinter y newsapi en su sistema de archivos local.

Paso 2: importe el módulo requerido

Los módulos tkinter y newsapi se importan para utilizarlos en la creación de una aplicación de noticias sencilla.

import tkinter as tk
from newsapi import NewsApiClient

Paso 3: crear un objeto cliente de API de noticias

Una vez que todas las bibliotecas estén instaladas, cree un objeto de cliente NewsAPI e inicialícelo con la clave API que creó en el sitio web de News API.

newsapi = NewsApiClient(api_key='your_api_key_here')

Reemplace your_api_key_here con la API que creó en el sitio web de NEWS API.

Paso 4: cree una función para obtener el artículo de noticias más reciente

Crearemos una función get_news() que recuperará los titulares de noticias más recientes y los mostrará como un widget de texto en nuestra aplicación. Además, debemos borrar la pantalla antes de recuperar los titulares de nuevos artículos de noticias.

def get_news():
   # Retrieve the top headlines
   top_headlines = newsapi.get_top_headlines(language='en')

   # Clear the text widget
   text.delete(1.0, tk.END)

   # Display the top headlines
   for article in top_headlines['articles']:
      text.insert(tk.END, article['title'] + '\n\n')

Paso 5: cree una interfaz de usuario sencilla

Ahora crearemos una interfaz de usuario sencilla para nuestra aplicación y mostraremos los titulares de noticias como un widget de texto dentro de la aplicación. Un botón en la parte inferior de la aplicación muestra "OBTENER NOTICIAS", que recuperará los titulares de noticias de la API de noticias y los mostrará en la pantalla de la aplicación.

# Create the main window
root = tk.Tk()
root.title('News App')

# Create the text widget
text = tk.Text(root, height=20, width=50)
text.pack()

# Create the button
button = tk.Button(root, text='Get News', command=get_news)
button.pack()

# Run the main loop
root.mainloop()

El código completo de la aplicación web Simple se puede encontrar a continuación:

Ejemplo

import tkinter as tk
from newsapi import NewsApiClient
newsapi = NewsApiClient(api_key='your_api_key_here')
def get_news():
   # Retrieve the top headlines
   top_headlines = newsapi.get_top_headlines(language='en')

   # Clear the text widget
   text.delete(1.0, tk.END)

   # Display the top headlines
   for article in top_headlines['articles']:
      text.insert(tk.END, article['title'] + '\n\n')
# Create the main window
root = tk.Tk()
root.title('News App')

# Create the text widget
text = tk.Text(root, height=20, width=50)
text.pack()

# Create the button
button = tk.Button(root, text='Get News', command=get_news)
button.pack()

# Run the main loop
root.mainloop()

Producción

Conclusión

En este artículo, entendimos cómo crear una aplicación web simple usando Tkinter y la API de noticias en Python. Simplemente llamamos a la API REST proporcionada por la API de noticias y mostramos los titulares de las noticias en un widget de texto simple en una interfaz fácil de usar. La aplicación se puede ampliar para incluir más funciones, como filtrar noticias por tema o fuente, se puede mejorar la interfaz de usuario y se pueden agregar otras cosas para que la aplicación sea más interactiva para el usuario.