Añadir etiquetas de los padres con sopa hermosa

Tengo muchas páginas de HTML con varias secciones que contienen estos fragmentos de código:

<code><div class="footnote" id="footnote-1">
<h3>Reference:</h3>
<table cellpadding="0" cellspacing="0" class="floater" style="margin-bottom:0;" width="100%">
<tr>
<td valign="top" width="20px">
<a href="javascript:void(0);" onclick='javascript:toggleFootnote("footnote-1");' title="click to hide this reference">1.</a>
</td>
<td>
<p> blah </p>
</td>
</tr>
</table>
</div>
</code>

Puedo analizar el HTML correctamente y extraer estas etiquetas relevantes

<code>tags = soup.find_all(attrs={"footnote"})
</code>

Ahora necesito agregar nuevas etiquetas principales sobre estas, de modo que el fragmento de código vaya:

<code><div class="footnote-out"><CODE></div>
</code>

Pero no puedo encontrar una manera de agregar etiquetas principales en bs4 de manera que refuercen las etiquetas identificadas. insert () / insert_before agregar después de las etiquetas identificadas.

Comencé por intentar la manipulación de cuerdas:

<code>for tags in soup.find_all(attrs={"footnote"}):
      tags = BeautifulSoup("""<div class="footnote-out">"""+str(tags)+("</div>"))
</code>

Pero creo que este no es el mejor curso.

Gracias por cualquier ayuda. Acabo de comenzar a usar bs / bs4 pero parece que no se puede descifrar esto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta