ホームページ >バックエンド開発 >Python チュートリアル >Python 正規表現を使用して HTML タグを削除する方法
HTML (HyperText Markup Language) は、Web ページを作成するための標準言語であり、タグと属性を使用して、テキスト、画像、表、リンクなど、ページ上のさまざまな要素を記述します。ただし、HTML テキストを処理する場合、後続の処理のためにテキスト コンテンツを迅速に抽出することは困難です。現時点では、Python の正規表現を使用して HTML タグを削除し、プレーン テキストをすばやく抽出できます。
Python では、正規表現モジュールは re です。 HTML タグを削除する場合、 re.sub() 関数を使用して HTML タグをスペースまたは他の文字に置き換えて、プレーン テキスト コンテンツを取得できます。具体的な実装手順は次のとおりです:
1. HTML テキスト コンテンツを取得する
まず、Web ページまたは他のファイルから HTML テキスト コンテンツを読み取る必要があります。 HTML ファイルをフォルダーに保存し、そのパスがわかっていると仮定すると、Python のファイル操作関数 open()、read()、および close() を使用して HTML ファイルの内容を読み取ることができます。
# 打开文件并读取HTML文本内容 file_path = 'path/to/html/file.html' with open(file_path, 'r') as f: html_text = f.read()
2. 正規表現パターンを構築する
最初に、すべての HTML タグとその内容に一致する正規表現パターンを構築する必要があります。以下は単純なパターンです:
pattern = r'<[^>]+>'
このパターンでは、「118c6f1cdf07d7d6771146486a8d3b74」終了マークまで続きます。したがって、パターン全体では、山括弧自体を含め、山括弧のペアの間にあるすべてのものを削除します。ただし、このモデルにはまだいくつかの制限があり、たとえば、ネストされたタグやコメントを処理できないため、必要に応じて変更またはアップグレードする必要があります。
3. 正規表現を使用して置換する
次に、re.sub() 関数を使用して正規表現パターンを HTML テキストに適用し、タグの置換を完了します。現在、すべてのタグをスペースに置き換えることを選択しています。これにより、テキスト コンテンツ内のスペースや改行などの書式設定情報が保持されます。
import re # HTML标签替换为空格 pattern = r'<[^>]+>' text_without_html = re.sub(pattern, ' ', html_text)
このコードは、一致するすべての HTML タグをスペースに置き換え、最終的にプレーン テキスト コンテンツのみを含む文字列を取得します。
4. テキスト コンテンツをさらに処理する
余分なスペース、句読点、その他の無意味な文字を削除するなど、テキスト コンテンツをさらに処理する必要がある場合は、Python の文字列操作関数を使用して処理できます。 。以下に例をいくつか示します。
# 去除多余空格 text_without_html = re.sub(r's+', ' ', text_without_html) # 去除标点符号 import string text_without_html = ''.join([c for c in text_without_html if c not in string.punctuation])
これらのコードは、Python の re.sub() 関数と文字列操作関数を使用して余分なスペースと句読点を削除し、それによってより純粋なテキスト コンテンツを取得します。
概要:
Python で正規表現を使用すると、HTML テキストからタグを簡単に削除し、プレーン テキストのコンテンツを抽出できます。ただし、HTML テキストのさまざまな状況を処理するには、正規表現パターンの構築と適用に注意を払う必要があります。
以上がPython 正規表現を使用して HTML タグを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。