HTMLファイルを対象とした自然言語処理では、タグの部分を削除し、本文のみを抽出する作業を行うケースがあります。
本記事では、文字列からHTMLタグのみを削除する方法について簡単に解説します。
実際にプログラムを作成してみる
文字列からHTMLタグのみを削除する方法の概要、実装例を紹介します。
アプローチ
この処理を行うに当たっては、正規表現を利用します。
後述のメソッドを用いてHTMLタグを表す正規表現を空文字で置き換える形になります。
なお、HTMLタグを表す正規表現は以下の通りです。
HTMLタグを表す正規表現 : '<.+?>' ----------------------------------- . : 任意の1文字にマッチ +? : 直前の文字が 1回以上 繰り返す場合にマッチ
実装例
上記のアプローチを基にプログラムを作成します。
import re
if __name__ == '__main__':
html_code = '<p><a href="https:~">ココをクリック!</a></p>'
print('Before : \n{0}\n'.format(html_code))
a = '<.+?>' # タグを表す正規表現
b = '' # 空文字
html_code = re.sub(a, b, html_code) # 引数1を引数2で置き換える(引数3の文字列が対象)
print('After : \n{0}'.format(html_code))
このプログラムを実行すると以下の出力結果が得られます。
Before : <p><a href="https:~">ココをクリック!</a></p> After : ココをクリック!
出力結果から無事にHTMLタグの削除が完了していることがわかります。