Cree una aplicación para extraer noticias de Google News Feed usando Python

Requisito previoPython tkinter

En este artículo, vamos a escribir una secuencia de comandos de Python para extraer artículos de noticias de Google News Feed utilizando el módulo gnewsclient y enlazarlo con una aplicación GUI. gnewsclient es un cliente Python para Google News Feed. Esta API debe instalarse explícitamente primero para poder usarse.

Instalación

El siguiente comando de terminal instala el paquete gnewsclient junto con todas sus bibliotecas requeridas. Entonces, uno simplemente tiene que ejecutar este comando en su terminal.

pip install gnewsclient

Usando el módulo

  1. Importar el módulo gnewsclient
  2. Cree un objeto NewsClient y establezca la configuración de parámetros actual
  3. Obtener noticias

Python3

# import module
from gnewsclient import gnewsclient
 
# declare a NewsClient object
client = gnewsclient.NewsClient(language='hindi', location='india', topic='Business', max_results=5)
 
# get news feed
client.get_news()

Producción:

El siguiente código muestra cómo se pueden imprimir otros factores como la ubicación, el idioma y el tema a partir de la información recopilada por este módulo:

Python3

import gnewsclient
from gnewsclient import gnewsclient
 
client = gnewsclient.NewsClient(language='hindi',
                                location='india',
                                topic='Business',
                                max_results=5)
 
# prints location
print("Location: \n",client.locations)
print()
 
# prints languages
print("Language \n",client.languages)
print()
 
# prints topics
print("Topic \n",client.topics)

Producción:

Ejemplo :

Programa 1:

Python3

from gnewsclient import gnewsclient
 
client = gnewsclient.NewsClient(language='english',
                                location='india',
                                topic='sports',
                                max_results=3)
 
news_list = client.get_news()
 
for item in news_list:
    print("Title : ", item['title'])
    print("Link : ", item['link'])
    print("")

Producción:

Programa 2 : este código implementa la metodología del programa 1 en GUI.

Python3

# import modules
from tkinter import *
from gnewsclient import gnewsclient
 
# defined functions
def news():
    client = gnewsclient.NewsClient(
        language=lang.get(), location=loc.get(), topic=top.get(), max_results=3)
    news_list = client.get_news()
    result_title.set(news_list[0]["title"] + "\n" +
                     news_list[1]["title"] + "\n" + news_list[2]["title"])
 
 
# tkinter object
master = Tk()
master.title("NEWS")
 
# background set to grey
master.configure(bg='light grey')
 
# Variable Classes in tkinter
result_title = StringVar()
result_link = StringVar()
 
# Creating label for each information
# name using widget Label
Label(master, text="Choose language :", bg="light grey").grid(row=0, sticky=W)
Label(master, text="Choose Location :", bg="light grey").grid(row=1, sticky=W)
Label(master, text="Choose Topic :", bg="light grey").grid(row=2, sticky=W)
 
 
lang = Entry(master)
lang.grid(row=0, column=1)
 
loc = Entry(master)
loc.grid(row=1, column=1)
 
top = Entry(master)
top.grid(row=2, column=1)
 
 
# Creating label for class variable
# name using widget Entry
Label(master, text="", textvariable=result_title,
      bg="light grey").grid(row=3, column=1, sticky=W)
 
# creating a button using the widget
# Button to call the submit function
Button(master, text="SHOW", command=news, bg="white").grid(row=1, column=3)
 
 
mainloop()

Producción:

Publicación traducida automáticamente

Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *