How to get HTML from a beautiful soup object

user1592380 picture user1592380 · Sep 8, 2014 · Viewed 60.2k times · Source

I have the following bs4 object listing:

>>> listing
<div class="listingHeader">
<h2>
....


>>> type(listing)
<class 'bs4.element.Tag'>

I want to extract the raw html as a string. I've tried:

>>> a = listing.contents
>>> type(a)
<type 'list'>

So this does not work. How can I do this?

Answer

alecxe picture alecxe · Sep 8, 2014

Just get the string representation:

html_content = str(listing)

This is a non-prettified version.

If you want a prettified one, use prettify() method:

html_content = listing.prettify()