Articulo de referencia

Sopa Hermosa (analizador HTML)

{{cite web|title=Beautiful Soup website|url=http://www.crummy.com/software/BeautifulSoup/#Download|accessdate=18 April 2012|quote=Beautiful Soup is licensed under the same terms...

Beautiful Soup es un paquete de Python para analizar documentos HTML y XML , incluyendo aquellos con marcado mal formado. Crea un árbol de análisis para documentos que se puede usar para extraer datos de HTML, [ 3 ] lo cual es útil para el web scraping . [ 2 ] [ 4 ]

Historia

Beautiful Soup fue creado en 2004 por Leonard Richardson. Su nombre proviene del poema «Beautiful Soup » de Alicia en el País de las Maravillas y hace referencia al término « tag soup », que significa código HTML mal estructurado. [ 5 ] Richardson continúa contribuyendo al proyecto, [ 6 ] que además cuenta con el apoyo de mantenedores de código abierto remunerados de la empresa Tidelift. [ 7 ]

Versiones

Beautiful Soup 3 fue la línea de lanzamiento oficial de Beautiful Soup desde mayo de 2006 hasta marzo de 2012. El lanzamiento actual es Beautiful Soup 4.x.

En 2021, se eliminó el soporte para Python 2.7 y la versión 4.9.3 fue la última en ser compatible con Python 2.7. [ 8 ]

Uso

Beautiful Soup representa los datos analizados como un árbol que se puede buscar e iterar con bucles Python ordinarios . [ 9 ]

Ejemplo de código

El siguiente ejemplo utiliza la biblioteca estándar de Python urllib [ 10 ] para cargar la página principal de Wikipedia , y luego utiliza Beautiful Soup para analizar el documento y buscar todos los enlaces dentro.

#!/usr/bin/env python3 # Extracción de anclas de un documento HTML from bs4 import BeautifulSoup from urllib.request import urlopencon urlopen ( "https://en.wikipedia.org/wiki/Main_Page" ) como respuesta : soup = BeautifulSoup ( respuesta , "html.parser" ) para anchor en soup . find_all ( "a" ): print ( anchor . get ( "href" , "/" ))

Otro ejemplo es usar la biblioteca requests de Python [ 11 ] para obtener divs en una URL.

import requests from bs4 import BeautifulSoupurl = " https://wikipedia.org " respuesta = requests.get ( url ) sopa = BeautifulSoup ( respuesta.text , " html.parser " ) encabezados = sopa.find_all ( " div " )para cada encabezado en encabezados : imprimir ( encabezado.texto.strip ( ) )

Véase también

Referencias

  1. https://git.launchpad.net/beautifulsoup/tree/CHANGELOG .{{cite web}}: Falta o está vacío |title=( ayuda )
  2. 1 2 "Sitio web de Beautiful Soup" . Consultado el 18 de abril de 2012. Beautiful Soup tiene licencia bajo los mismos términos que Python .
  3. ^ Hajba, Gábor László (2018), "Using Beautiful Soup", en Hajba, Gábor László (ed.), Scraping de sitios web con Python: uso de BeautifulSoup y Scrapy , Apress, págs. 41–96 , doi : 10.1007/978-1-4842-3925-4_3 , ISBN  978-1-4842-3925-4
  4. Python, Real. "Beautiful Soup: Build a Web Scraper With Python – Real Python" . realpython.com . Consultado el 1 de junio de 2023 .
  5. "Extracción de datos web con Python" . Udacity . 11 de febrero de 2021. Consultado el 24 de enero de 2024 .
  6. "Código : Leonard Richardson" . Launchpad . Consultado el 19 de septiembre de 2020 . 
  7. Tidelift. "beautifulsoup4 | pypi a través de la suscripción a Tidelift" . tidelift.com . Consultado el 19 de septiembre de 2020 .
  8. Richardson, Leonard (7 de septiembre de 2021). "Beautiful Soup 4.10.0" . beautifulsoup . Grupos de Google . Consultado el 27 de septiembre de 2022 .
  9. "Cómo extraer datos de páginas web con Beautiful Soup y Python 3 | DigitalOcean" . www.digitalocean.com . Consultado el 1 de junio de 2023 .
  10. Python, Real. "Python's urllib.request for HTTP Requests – Real Python" . realpython.com . Consultado el 1 de junio de 2023 .
  11. Blog, SerpApi (5 de marzo de 2024). "Beautiful Soup: Web Scraping con Python" . serpapi.com . Consultado el 27 de junio de 2024 .