Beautifulsoup, de frère, de structure avec les balises br

Je suis en train d'analyser un document HTML à l'aide de la BeautifulSoup bibliothèque Python, mais la structure devient déformée par <br> balises. Laissez-moi juste vous donner un exemple.

D'entrée HTML:

<div>
  some text <br>
  <span> some more text </span> <br>
  <span> and more text </span>
</div>

HTML que BeautifulSoup interprète:

<div>
  some text
  <br>
    <span> some more text </span>
    <br>
      <span> and more text </span>
    </br>
  </br>
</div>

Dans la source, les travées pourraient être considérés comme frères et sœurs. Après l'analyse (à l'aide de l'analyseur par défaut), les travées sont tout à coup plus les frères et sœurs, comme les balises br est devenu une partie de la structure.

La solution je pense pour résoudre ce problème est de dépouiller le <br> étiquettes au total, avant de verser le code html sur Beautifulsoup, mais ça ne semble pas très élégant, comme il m'oblige à modifier l'entrée. Ce est une meilleure façon de résoudre ce problème?

  • Devrait-il y avoir deux balises span là, vous semblez avoir <span
  • Même la fixation de la durée, j'ai recréé l'erreur à l'aide bs4. bs3, cependant, n'a pas de problèmes.
  • En effet. La plage était une faute de frappe, et pas dans mon code. dilbert est correct.
InformationsquelleAutor Joost | 2013-07-14