6
Ho una raccolta di file HTML. Desidero scorrere su di loro, uno per uno, modificando il mark-up di una particolare classe. Il codice Desidero modificare è il seguente modulo, utilizzando i seguenti nomi di classe:Sostituzione di tag di un tipo con tag di un altro in BeautifulSoup
<td class='thisIsMyClass' colspan=4>
<a id='123' class='thisIsMyOtherClass' href='123'>Put me Elsewhere</a>
Ciò può verificarsi più volte nello stesso documento, con diverso testo invece di "Mettimi Altrove", ma sempre lo stesso classi.
voglio cambiare questo per essere della forma:
<font SIZE="3" COLOR="#333333" FACE="Verdana" STYLE="background-color:#ffffff;font-weight: bold;">
<h2>Put Me Elsewhere</h2>
</font>
import os
for filename in os.listdir('dirname'):
replace(filename)
def replace(filename):
tags = soup.find_all(attrs={"thisIsMyClass"})
Non troppo sicuro di dove andare dopo questo o come affrontare la matrice tag? Qualsiasi aiuto sarebbe molto apprezzato. Grazie :)
HTML ha alcune restrizioni sui bambini negli elementi . Potresti considerare di sostituire solo i tag . Se hai bisogno di cancellare il
risposta
molto meglio e più bella sarebbe quello di preparare una stringa di sostituzione HTML con un segnaposto, trovare tutti
td
tag conthisIsMyClass
classe e utilizzare.replace_with()
per sostituire ciascuna:Stampe:
fonte
2014-12-03 22:12:19 alecxe
È semplice come assegnare all'attributo
name
.Anche il documentation è tuo amico. È abbastanza completo.
fonte
2014-12-02 03:14:24 ento
Problemi correlati