typestar

Recorrer el árbol en Python

Caminar etiquetas anidadas para extraer las filas de una tabla.

from bs4 import BeautifulSoup

html = """
<table>
  <tr><th>lenguaje</th><th>año</th></tr>
  <tr><td>Python</td><td>1991</td></tr>
  <tr><td>Rust</td><td>2010</td></tr>
</table>
"""

sopa = BeautifulSoup(html, "html.parser")
filas = []
for fila in sopa.find("table").find_all("tr")[1:]:
    celdas = [celda.get_text(strip=True) for celda in fila.find_all("td")]
    filas.append(celdas)

primer_lenguaje = filas[0][0]

Cómo funciona

  1. find_all('fila')[1:] salta la fila de encabezado.
  2. Las celdas de cada fila se leen con get_text.
  3. El resultado es una lista de listas de filas.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
403
Tokens
88
Ritmo de tres estrellas
110 tpm

Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 48 segundos.

Escribe este fragmento

Paso 3 de 3 en BeautifulSoup; paso 8 de 9 en Web scraping.

← Anterior Siguiente →