Python noob qui ...Come salvare le modifiche apportate a un file HTML utilizzando BeautifulSoup in Python?
Ho lo script seguente, che modifica gli hrefs per un file html (in futuro sarà un elenco di file HTML in una directory). Usando beautifulSoup sono riuscito ad accedere ai valori del tag e a modificarlo come voglio ma non so come salvare le modifiche apportate al file. Qualsiasi aiuto sarà molto apprezzato.
import os
import re
from bs4 import BeautifulSoup
htmlDoc = open('adding_computer_c.html',"r+")
soup = BeautifulSoup(htmlDoc)
replacements= [ ('_', '-'), ('../tasks/', prefixUrl), ('../concepts/', prefixUrl) ]
for link in soup.findAll('a', attrs={'href': re.compile("../")}):
newlink=str(link)
for k, v in replacements:
newlink = newlink.replace(k, v)
extrachars=newlink[newlink.find("."):newlink.find(">")]
newlink=newlink.replace(extrachars,'')
link=newlink
print(link)
##How do I save the link I have modified back to the HTML file?
print(soup)##prints the original html tree
htmlDoc.close()
Ha funzionato! Molte grazie! – PepeFloyd
L'ho fatto ma ho raggiunto la massima profondità di ricorsione. Qualche idea del perché? –
Per Python 3, è necessario utilizzare: 'open (" output.html "," wt ")' –