stringtranslate.com

Sopa hermosa (analizador HTML)

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]

Historia

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]

Versiones

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]

Uso

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

Ejemplo de código

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 ())

Véase también

Referencias

  1. ^ https://git.launchpad.net/beautifulsoup/tree/CHANGELOG . Consultado el 18 de enero de 2024 . {{cite web}}: Falta o está vacío |title=( ayuda )
  2. ^ ab "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), Hajba, Gábor László (ed.), "Using Beautiful Soup", 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: crea un raspador web con Python – Real Python". realpython.com . Consultado el 1 de junio de 2023 .
  5. ^ makcorps (13 de diciembre de 2022). "Tutorial de BeautifulSoup: vamos a extraer páginas web con Python" . Consultado el 24 de enero de 2024 .
  6. ^ "Web Scraping con Python". Udacity . 2021-02-11 . Consultado el 2024-01-24 .
  7. ^ "Código: Leonard Richardson". Launchpad . Consultado el 19 de septiembre de 2020 .
  8. ^ Tidelift. "beautifulsoup4 | pypi a través de la suscripción a Tidelift". tidelift.com . Consultado el 19 de septiembre de 2020 .
  9. ^ Richardson, Leonard (7 de septiembre de 2021). "Beautiful Soup 4.10.0". beautifulsoup . Grupos de Google . Consultado el 27 de septiembre de 2022 .
  10. ^ "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 .
  11. ^ Python, Real. "Urllib.request de Python para solicitudes HTTP – Real Python". realpython.com . Consultado el 1 de junio de 2023 .
  12. ^ Blog, SerpApi. "Beautiful Soup: Web Scraping con Python". serpapi.com . Consultado el 27 de junio de 2024 .