La réponse est simple et peut manquer de nombreuses nuances. Cependant, cela devrait vous donner une idée de la façon de le faire, en l'améliorant en général. Je suis sûr que cela peut être amélioré, mais vous devriez être en mesure de le faire rapidement avec l'aide de la documentation.
Référence doc: http://www.crummy.com/software/BeautifulSoup/documentation.html
from bs4 import BeautifulSoup
doc = ['<html><script type="text/javascript">document.write("Hello World!")',
'</script><head><title>Page title</title></head>',
'<body><p id="firstpara" align="center">This is paragraph <b>one</b>.',
'<p id="secondpara" align="blah">This is paragraph <b>two</b>.',
'</html>']
soup = BeautifulSoup(''.join(doc))
for tag in soup.findAll('script'):
# Use extract to remove the tag
tag.extract()
# use simple insert
soup.body.insert(len(soup.body.contents), tag)
print soup.prettify()
Sortie:
<html>
<head>
<title>
Page title
</title>
</head>
<body>
<p id="firstpara" align="center">
This is paragraph
<b>
one
</b>
.
</p>
<p id="secondpara" align="blah">
This is paragraph
<b>
two
</b>
.
</p>
<script type="text/javascript">
document.write("Hello World!")
</script>
</body>
</html>
Pendant que vous y êtes, faites les charger asyncrounous. Donnera un avantage de performance encore plus grand. –