Requisito previo – Python 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
- Importar el módulo gnewsclient
- Cree un objeto NewsClient y establezca la configuración de parámetros actual
- 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