[TIPS] HTMLタグの修正方法 - Python

By JoeVu, at: 2024年6月9日10:46

予想読書時間: __READING_TIME__ 分

[TIPS] How to correct HTML tags - Python
[TIPS] How to correct HTML tags - Python

PythonのPythonを使って、壊れたHTMLタグを修正するには、bs4モジュールのBeautifulSoupのようなライブラリを使用できます。BeautifulSoupは、HTMLの解析と修正に強力です。

 

以下に、その使用方法に関するステップバイステップガイドを示します。

 

ステップ1:BeautifulSoupをインストールする

 

BeautifulSoupとlxml(パーサーライブラリ)をまだインストールしていない場合は、pipを使用してインストールできます。

 

pip install beautifulsoup4 lxml

 

ステップ2:BeautifulSoupを使用してHTMLを解析および修正する

 

以下は、HTML文字列を読み込み、BeautifulSoupで解析し、修正されたHTMLを出力するスクリプトの例です。

 

from bs4 import BeautifulSoup

# 壊れたHTMLコンテンツの例
messed_up_html = """ あなたのめちゃくちゃなHTMLコンテンツ """

# HTMLを解析する
soup = BeautifulSoup(messed_up_html, 'lxml')

# 修正されたHTMLを整形して出力する
corrected_html = soup.prettify()
print(corrected_html)

 

以下は、めちゃくちゃなHTMLタグのコンテンツです

 

Messy html tags content

 

解説

 

  • BeautifulSoup: HTMLおよびXMLドキュメントを解析するためのPythonライブラリ。ページソースコードから解析ツリーを作成し、HTMLからデータを抽出するために使用できます。

 

  • lxml: BeautifulSoup用のパーサー。デフォルトのパーサーと比較して、壊れたHTMLに対してより高速で寛容です。

 

出力

 

prettifyメソッドはHTMLをきれいに整形します。修正されたHTMLは次のようになります。

 

from bs4 import BeautifulSoup

# 先ほどのめちゃくちゃなHTML文字列
messy_html = """

私の1999年のウェブサイトへようこそ!


 
 

これは、タグがいたるところにあるため、決して終わらない段落です。
このスクロールテキストをチェックしてください!

 
悪いテーブルフォーマット 終了タグがない



ここをクリックしてください!


 
Copyright 2025 - Netscape Navigatorで最適に表示されます

"""

 

# 'html.parser'でライブラリを初期化します
# より堅牢なエラー修正には'lxml'を使用することもできます
soup = BeautifulSoup(messy_html, 'html.parser')

# .prettify()メソッドは、ネストを修正し、インデントを追加します
clean_html = soup.prettify()

print(clean_html)

 

代替手段

 

HTMLタグを検証し修正するためのオンラインサービスがいくつかあります。

 

  1. https://validator.w3.org/#validate_by_input
     
  2. https://www.freeformatter.com/html-validator.html
     
  3. https://www.htmlcorrector.com/
     
  4. https://jsonformatter.org/html-validator
Tag list:
- BeautifulSoup
- html
- extract html tags
- html tags
- correct html tags

Related

Experience Python

もっと読む
Python Automation

もっと読む

購読

最新の当社の情報を受け取るために、購読してください。