Most examples I find online show how to remove whitespace - but in my case I need to keep it.. I have
html = "I can flip this whole thing with one hand\n <span>D#m</span>\nThe ringleader man\n<span>A#</span> <span>Dm</span> <span>A#</span>\nI know~~~~ it's a fact that you'd rather just have some of me instead"
bs = BeautifulSoup(html, 'html.parser')
content = (unicode('').join(unicode(content) for content in bs.contents))
Which I expect to keep the whitespace (the "html" variable contains the contents of a pre tag) -- but it seems to replace multiple spaces with a single space.
How do I keep/get the raw contents of a given beautifulsoup parser?
The html parser seems to only keeps whitespace if the content you are parsing is in a <pre> tag -- in my case, the pre tag was removed. Adding
html = "<pre>" + html + "</pre>"
preserved the whitespace.