2012-07-23 13 views
6

¿Alguien me puede indicar cómo extraer el valor de una etiqueta con BeautifulSoup? Leí la documentación pero tuve dificultades para navegar a través de ella. Por ejemplo, si tuviera:Valor de etiqueta de extracción con BeautifulSoup

<span title="Funstuff" class="thisClass">Fun Text</span> 

¿Cómo acabo de tirar "Funstuff" busing BeautifulSoup/Python?

Editar: Estoy utilizando la versión 3.2.1

+0

¿Es este BeautifulSoup 3 o BeautifulSoup 4? Su –

+0

3.2.1 ..10char – user1463925

Respuesta

6

Usted necesita tener algo para identificar el elemento que está buscando, y es difícil saber lo que es en esta cuestión.

Por ejemplo, ambos imprimirán 'Funstuff' en BeautifulSoup 3. Uno busca un elemento span y obtiene el título, otro busca los tramos con la clase dada. Muchas otras maneras válidas de llegar a este punto son posibles.

import BeautifulSoup 
soup = BeautifulSoup.BeautifulSoup('<html><body><span title="Funstuff" class="thisClass">Fun Text</span></body></html>') 
print soup.html.body.span['title'] 
print soup.find('span', {"class": "thisClass"})['title'] 
+0

Pregunta: mi declaración de importación de BeautifulSoup es: de BeautifulSoup BeautifulSoup importación, programable CData Sin embargo, el código anterior sólo parece funcionar cuando: importación BeautifulSoup Cualquier idea de por qué? – user1463925

+0

Eso es solo Python. Si está realizando una importación relativa ('from BeautifulSoup import BeautifulSoup'), cambie la línea de' soup = BeautifulSoup.BeautifulSoup (... 'a' soup = BeautifulSoup (... ' Vea http: // docs. python.org/tutorial/modules.html para más. –

1

a Etiquetas niños están disponibles a través de .Contenido http://www.crummy.com/software/BeautifulSoup/bs4/doc/#contents-and-children En su caso se puede encontrar la etiqueta sea utilizando su clase CSS para extraer el contenido

from bs4 import BeautifulSoup 
soup=BeautifulSoup('<span title="Funstuff" class="thisClass">Fun Text</span>') 
soup.select('.thisClass')[0].contents[0] 

http://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors tiene todos los detalles nevessary

Cuestiones relacionadas