Prerrequisito- Aplicación GUI usando Tkinter
En este artículo, vamos a escribir scripts para extraer información del artículo en la URL dada. Se extraerá información como título, metainformación, descripción de artículos, etc.
Vamos a utilizar el módulo Goose .
El módulo Goose ayuda a extraer la siguiente información:
- El texto principal de un artículo.
- Imagen principal del artículo.
- Cualquier película de YouTube/Vimeo incrustada en el artículo.
- Metadescripción.
- Etiquetas meta.
Para empezar, instale el módulo requerido usando el siguiente comando.
pip install goose3
Acercarse
- Importar el módulo.
- Crea un objeto con la función Goose().extract(URL).
- Obtenga el título con el atributo obj.title.
- Obtenga una meta descripción con el atributo obj.meta_description.
- Obtenga texto con el atributo obj.article.cleaned_text.
Implementación
Paso 1: inicialización de los requisitos.
Python3
# import module from goose3 import Goose # var for URL url = "https://www.geeksforgeeks.org/python-programming-language/?ref=leftbar" # initialization with article = Goose().extract(url)
Paso 2: Extrayendo el título.
Python3
print("Title of the article :\n",article.title)
Producción:
Paso 3: Extracción de metainformación
Python3
print("Meta information :\n",article.meta_description)
Producción:
Paso 4: Extracción del artículo
Python3
print("Article Text :\n",article.cleaned_text[:300])
Producción:
Paso 5: Visualización usando Tkinter
Python3
# import modules from tkinter import * from goose3 import Goose # for getting information def info(): article = Goose().extract(e1.get()) title.set(article.title) meta.set(article.meta_description) string = article.cleaned_text[:150] art_dec.set(string.split("\n")) # object of tkinter # and background set to grey master = Tk() master.configure(bg='light grey') # Variable Classes in tkinter title = StringVar(); meta = StringVar(); art_dec = StringVar(); # Creating label for each information # name using widget Label Label(master, text="Website URL : " , bg = "light grey").grid(row=0, sticky=W) Label(master, text="Title :", bg = "light grey").grid(row=3, sticky=W) Label(master, text="Meta information :", bg = "light grey").grid(row=4, sticky=W) Label(master, text="Article description :", bg = "light grey").grid(row=5, sticky=W) # Creating label for class variable # name using widget Entry Label(master, text="", textvariable=title, bg = "light grey").grid(row=3,column=1, sticky=W) Label(master, text="", textvariable=meta, bg = "light grey").grid(row=4,column=1, sticky=W) Label(master, text="", textvariable=art_dec, bg = "light grey").grid(row=5,column=1, sticky=W) e1 = Entry(master, width = 100) e1.grid(row=0, column=1) # creating a button using the widget # to call the submit function b = Button(master, text="Show", command=info , bg = "Blue") b.grid(row=0, column=2,columnspan=2, rowspan=2,padx=5, pady=5,) 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