ホームページ > バックエンド開発 > Python チュートリアル > Python で HTML 文字列からテキスト コンテンツを効率的に抽出するにはどうすればよいですか?

Python で HTML 文字列からテキスト コンテンツを効率的に抽出するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-05 07:41:09
オリジナル
764 人が閲覧しました

How Can I Efficiently Extract Text Content from HTML Strings in Python?

Python で HTML 文字列からコンテンツを抽出する

Python で HTML データを操作する場合、多くの場合、書式設定タグを削除して保持することが望ましいです。テキストコンテンツのみ。この単純化されたデータ ビューは、テキストの要約、自然言語処理の実行、その他のタスクに役立ちます。

Python でこれを実現する 1 つの方法は、Python の組み込み HTML パーサーを利用する MLStripper クラスを使用することです。

# For Python 3+
from io import StringIO
from html.parser import HTMLParser

class MLStripper(HTMLParser):
    def __init__(self):
        super().__init__()
        self.reset()
        self.strict = False
        self.convert_charrefs= True
        self.text = StringIO()
    def handle_data(self, d):
        self.text.write(d)
    def get_data(self):
        return self.text.getvalue()

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()
ログイン後にコピー
# For Python 2
from HTMLParser import HTMLParser
from StringIO import StringIO

class MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.text = StringIO()
    def handle_data(self, d):
        self.text.write(d)
    def get_data(self):
        return self.text.getvalue()

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()
ログイン後にコピー

strip_tags 関数に HTML コンテンツを渡すことで、テキスト部分だけを簡単に抽出できますHTML の:

cleaned_content = strip_tags("<b>Hello</b> world")
# Prints "Hello world"
ログイン後にコピー

この MLStripper クラスとstrip_tags 関数は、Python で HTML コンテンツを処理する便利な方法を提供し、タグの書式設定に気を取られることなくテキスト コンテンツに集中できるようにします。

以上がPython で HTML 文字列からテキスト コンテンツを効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート