を使用して即時レベルでテキストを抽出することができません。私は別のanswerで述べたようにfind(text=True, recursive=False)
を使用することにより、タグの即時レベルからテキストを抽出するために、この方法に従ったが、u'<p>\n <strong>\n Established\n </strong>\n 1865\n</p>\n'
のようないくつかの特定のマークアップのために、それは働いていない:はBeautifulSoup
はコードです:
markup = u'<p>\n <strong>\n Established\n </strong>\n 1865\n</p>\n'
s = BeautifulSoup(markup, 'lxml')
print s.find('p').find(text=True, recursive=False)
そして、それは
45: u'\n'
を印刷します私がすべての改行を取り除くとうまくいくのですが、マークアップからうまく動作しますが、HTMLファイル全体からすべての改行をランダムに削除するのは良い考えではないと思います。
他の解決方法はありますか?
htmlをregexで前処理してすべての '\ n 'の先頭と末尾の文字列を見つけて削除できます –