typestar

Selectores CSS en Python

Encontrar elementos con la sintaxis familiar de selectores CSS.

from bs4 import BeautifulSoup

html = """
<ul class="menu">
  <li class="item"><a href="/py">Python</a></li>
  <li class="item featured"><a href="/rs">Rust</a></li>
  <li class="item"><a href="/go">Go</a></li>
</ul>
"""

sopa = BeautifulSoup(html, "html.parser")
elementos = sopa.select("ul.menu li.item")
destacado = sopa.select_one("li.featured a").text
hrefs = [a["href"] for a in sopa.select("li a")]
conteo = len(elementos)

Cómo funciona

  1. select devuelve cada coincidencia de un selector.
  2. select_one devuelve solo la primera.
  3. Una comprensión de listas extrae cada href.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
422
Tokens
100
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 57 segundos.

Escribe este fragmento

Paso 2 de 3 en BeautifulSoup; paso 7 de 9 en Web scraping.

← Anterior Siguiente →