scraping parser python html beautifulsoup innerhtml

scraping - python html parser



BeautifulSoup innerhtml? (4)

Digamos que tengo una página con un div . Puedo obtener fácilmente ese div con soup.find() .

Ahora que tengo el resultado, me gustaría imprimir TODO el innerhtml de ese div : Quiero decir, necesitaría una cadena con TODAS las etiquetas html y texto todo junto, exactamente como la cadena que obtendría en JavaScript con obj.innerHTML . es posible?


Una de las opciones podría ser usar algo como eso:

innerhtml = "".join([str(x) for x in div_element.contents])


Hay una función no documentada que se aproxima al método DOMHTML interno :

def innerHTML(element): return element.decode_contents(formatter="html")

Esto ha pasado todos mis casos de prueba hasta ahora. Tal vez alguien debería actualizar los documentos?


¿Qué tal solo unicode(x) ? Parece funcionar para mi.

Editar: Esto le dará el HTML externo y no el interno.


Si solo necesita el texto (sin etiquetas HTML), puede usar .text :

soup.select("div").text