Beautiful Soup es un paquete de Python para analizar documentos HTML y XML , incluidos aquellos con marcado mal formado. Crea un árbol de análisis para documentos que se puede utilizar para extraer datos de HTML, [3] lo que resulta útil para el web scraping . [2] [4]
Beautiful Soup fue iniciado en 2004 por Leonard Richardson. [ cita requerida ] Toma su nombre del poema Beautiful Soup de Las aventuras de Alicia en el país de las maravillas [5] y es una referencia al término " sopa de etiquetas ", que significa código HTML mal estructurado. [6] Richardson continúa contribuyendo al proyecto, [7] que además cuenta con el apoyo de mantenedores de código abierto pagos de la empresa Tidelift. [8]
Beautiful Soup 3 fue la línea de lanzamiento oficial de Beautiful Soup desde mayo de 2006 hasta marzo de 2012. La versión actual es Beautiful Soup 4.x.
En 2021, se retiró la compatibilidad con Python 2.7 y la versión 4.9.3 fue la última en admitir Python 2.7. [9]
Beautiful Soup representa los datos analizados como un árbol que se puede buscar e iterar con bucles Python comunes . [10]
El siguiente ejemplo utiliza la biblioteca estándar de Python urllib [11] para cargar la página principal de Wikipedia , luego utiliza Beautiful Soup para analizar el documento y buscar todos los enlaces dentro de él.
#!/usr/bin/env python3 # Extracción de ancla del documento HTML from bs4 import BeautifulSoup from urllib.request import urlopen with urlopen ( 'https://en.wikipedia.org/wiki/Beautiful_Soup_(HTML_parser)/Main_Page' ) as response : soup = BeautifulSoup ( response , ' html.parser' ) for anchor in soup.find_all ( ' a' ) : print ( anchor.get ( 'href' , '/' ))
Otro ejemplo es usar la biblioteca de solicitudes de Python [12] para obtener divs en una URL.
Solicitudes de importación desde bs4 import BeautifulSoupurl = 'https://wikipedia.com' respuesta = solicitudes . obtener ( url ) sopa = BeautifulSoup ( respuesta . texto , 'html.parser' ) encabezados = sopa . buscar_todos ( 'div' )para encabezado en encabezados : imprimir ( encabezado . texto . tira ())
{{cite web}}
: Falta o está vacío |title=
( ayuda )Beautiful Soup tiene licencia bajo los mismos términos que Python.