4

<br>要素を改行として尊重しながら、HTML ドキュメントからプレーン テキストを取得する必要があります。改行BeautifulSoup.textを処理しません。<br>HTML2Text は非常に優れていますが、マークダウンに変換されます。他にどのようにこれにアプローチできますか?

4

2 に答える 2

4

私は次の方法を使用するのが好きです。新しい行を尊重.replace('<br>','\r\n')するために、文字列を渡す前に文字列でマニュアルを実行できます。strip_tags(html)

この質問から:

from HTMLParser import HTMLParser

class MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.fed = []
    def handle_data(self, d):
        self.fed.append(d)
    def get_data(self):
        return ''.join(self.fed)

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()
于 2013-06-09T16:43:01.510 に答える
0

タグを取り除いてスペースに置き換えることができます (必要な場合):

import re

myString = re.sub(r"<(/)?br(/)?>", "\n", myString)
myString = re.sub(r"<[^>]*>", " ", myString)
于 2013-06-09T16:40:05.867 に答える