Foros del Web » Programando para Internet » Python »

Quiero entender BeautifulSoap

Estas en el tema de Quiero entender BeautifulSoap en el foro de Python en Foros del Web. Buenas a todos. Estoy tratando de entender como extraer datos de una web con BeautifulSoap y urllib2 pero no entiendo como se usa BeautifulSoap. Lei ...
  #1 (permalink)  
Antiguo 21/12/2013, 00:23
 
Fecha de Ingreso: junio-2013
Mensajes: 9
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta Quiero entender BeautifulSoap

Buenas a todos.
Estoy tratando de entender como extraer datos de una web con BeautifulSoap y urllib2 pero no entiendo como se usa BeautifulSoap. Lei del manual pero sigo sin entender.

Por ejemplo, como decirle a beautiful que quiero de este codigo:

<tr>
<td height="25" bgcolor="#EFEFEF" class="texto_titulo_xl"><div align="center">2000 </div></td>

<td bgcolor="#FFFFCC" class="texto_titulo_xl"><div align="center">3004 </div></td>

<td bgcolor="#EFEFEF" class="texto_titulo_xl"><div align="center">4119 </div></td>

<td bgcolor="#FFFFCC" class="texto_titulo_xl"><div align="center">5720 </div></td>

<td bgcolor="#EFEFEF" class="texto_titulo_xl"><div align="center">6226 </div></td>

<td bgcolor="#FFFFCC" class="texto_titulo_xl"><div align="center">7341 </div></td>
</tr>

el 2000, 3004, 4119, 5720 etc.

Mas que me ayuden con el codigo quiero entender beautifulSoup.

Gracias
  #2 (permalink)  
Antiguo 23/12/2013, 14:33
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Quiero entender BeautifulSoap

No tengo bs4 instalado, pero por lo que puedo recordar deberías empezar por:

Código Python:
Ver original
  1. from bs4 import BeautifulSoup
  2. soup = BeautifulSoup(tu_codigo_html)

De esta manera creas una nueva instancia con el código que querés analizar. Después para moverte hacia el tag <tr> usas:

Código Python:
Ver original
  1. soup.tr

Ahora, dentro de ese <tr> quieres acceder a los datos de los tags <td>, entonces haces:

Código Python:
Ver original
  1. soup.tr.td

De ahora en más no te puedo decir nada concreto porque no estoy probando nada de esto, pero al haber varios tags <td> supongo que te va a retornar una lista. Podría ser algo como:

Código Python:
Ver original
  1. soup.tr.td[0].div  # Debería retornar 2000

Espero que te funcione!



P.D: También podes indicarle a bs4 que saque todas las etiquetas para quedarte solo con los datos que necesitas (aca hay un ejemplo).

Etiquetas: librerías
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:57.