次を含むhtmlがあります。
<b>
<p align="left">TXT1</p>
</b>
<p align="left">
<b>NR1</b>
<b>TXT2</b>
TXT3
<b>TXT4</b>
TXT5
</p>
私がする時:
from BeautifulSoup import BeautifulSoup
html = urllib.urlopen('url')
htmlr = html.read()
soup = BeautifulSoup(htmlr)
print soup
私は何か違うものを手に入れます:
<p align="left">TXT1</p>
<p align="left">NR1 <b>TXT2</b> TXT3 <b>TXT4</b>
TXT5</p>
私はhtmlドキュメントのレイアウトを分析しているので、タグを失うのはかなりイライラします。なぜそれが起こっているのか、それを止める最善の方法は何ですか? 大いに感謝してください!
編集:情報抽出の目的で、不適切な形式の html ドキュメントを処理する必要があります。作成者がテキストを太字にしたい場合は、その人が無効な html を作成したとしても、それを考慮する必要があります。