Supprimer <br> balises à partir d'un analysée Belle Soupe liste?
Je suis en train d'entrer dans une boucle for avec toutes les lignes que je veux:
page = urllib2.urlopen(pageurl)
soup = BeautifulSoup(page)
tables = soup.find("td", "bodyTd")
for row in tables.findAll('tr'):
À ce point, j'ai mes informations, mais le
<br />
balises sont ruiner ma sortie.
Quelle est la façon la plus propre pour enlever ces?
OriginalL'auteur mamontazeri | 2011-05-08
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne, mais il extrait tout le texte entre le br, donc il ne va pas seulement supprimer les br, vous ne serez pas en mesure de séparer votre texte avec les br car il le supprime
Dans mon cas, cette solution s'en débarrasser le texte qui entoure les balises br ainsi, j'ai donc utilisé
e.replace_with(' ')
pour remplacer les balises br avec un espace.OriginalL'auteur Kabie
Si vous voulez traduire le
<br />
's pour les retours à la ligne, faire quelque chose comme ceci:OriginalL'auteur Mu Mind
remplacer les balises au début avec un espace
Belle soupe accepte aussi les .read() sur le urlopen objet de ce travail - - -
la ré.sous remplace la balise br avec un espace
Si vous êtes certains que les balises br constamment les yeux comme "</br'>, c'est plus simple et plus rapide d'utiliser la page.replace('</br>', ' ') à la place. Sinon, une expression régulière peut être plus approprié, comme @minocha suggéré. Voir: stackoverflow.com/a/5668962
OriginalL'auteur minocha
Peut-être
some_string.replace('<br />','\n')
pour remplacer les pauses avec des sauts de ligne.Vous pourriez vouloir vérifier html5lib et lxml, qui sont tous deux assez grand, à l'analyse de html. lxml est vraiment rapide et html5lib est conçu pour être extrêmement robuste.
<br class="fancy-break" />
dans le code HTML? Juste une pensée.À l'aide de la
re
module aurait plus de sens. Ce qui est assez inhabituel.Je me demandais juste si
beautifulsoup
analysée tags ou ne les attributs seulement. Peut-être que la tuyauterie en HTML/XML parser serait trop de travail? Mais si l'OP a<br />
, alors c'est tout bon 😉OriginalL'auteur zeekay