Python で文字列から HTML タグを削除する
Python では、文字列から HTML タグを削除する必要があるさまざまなシナリオがあります。その内容を抽出します。この問題の解決策を見てみましょう。
スニペットの例に示すように、mechanize ライブラリを使用して HTML コンテンツを取得するとします。コンテンツの各行には HTML タグとテキストが含まれます。テキストのみを抽出するには、タグを削除する必要があります。
1 つのオプションは、カスタム関数を使用してこのタスクを実行することです。関数strip_tagsは、HTMLParserクラスを利用して、HTMLコンテンツを処理するパーサーを作成します。パーサーはタグ内のデータのみを抽出し、それを StringIO オブジェクトに蓄積します。
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()
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()
HTML コンテンツをこの関数に渡すことで、タグを効果的に削除し、テキストのみを保持できます。コンテンツ。
以上がPython で文字列から HTML タグを効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。