¿Cómo mantengo los espacios en blanco en BeautifulSoup.contents

La mayoría de los ejemplos que encuentro en línea muestran cómo eliminar espacios en blanco, pero en mi caso necesito mantenerlo. Tengo

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))

Que espero mantener el espacio en blanco (la variable "html" contiene el contenido de una etiqueta previa), pero parece reemplazar múltiples espacios con un solo espacio.

¿Cómo guardo / obtengo el contenido en bruto de un analizador de beautifulsoup dado?

Respuestas a la pregunta(1)

Su respuesta a la pregunta