BeautifulSoupを使ったHTMLパース – Pythonで始めるプログラミング

BeautifulSoupを使ったHTMLパース – Pythonで始めるプログラミング

プログラミングを始める際に、HTMLをパースする技術は非常に重要です。BeautifulSoupはPythonでHTMLを解析するための便利なライブラリです。これを使うことで、簡単にHTMLから必要な情報を抽出できます。本記事では、BeautifulSoupを使ってHTMLをパースする方法について説明します。

BeautifulSoupのインストール

まず初めに、BeautifulSoupをインストールする必要があります。これにはpipを使用します。

pip install beautifulsoup4

基本的な使い方

BeautifulSoupを使ってHTMLをパースする基本的な方法は次の通りです。以下のコードは、例として簡単なHTMLをパースします。

from bs4 import BeautifulSoup

html = """
<html>
    <head>
        <title>テストページ</title>
    </head>
    <body>
        <h1>見出し</h1>
        <p>これはテストページです。</p>
    </body>
</html>
"""

soup = BeautifulSoup(html, "html.parser")

print(soup.title.string)
print(soup.h1.string)
print(soup.p.string)

このコードは、HTMLからタイトル、見出し、段落の内容を抽出します。さらに、BeautifulSoupは様々なHTML解析メソッドを提供しています。

タグの検索

BeautifulSoupでは、タグを検索する方法がいくつかあります。findメソッドは特定のタグを検索し、find_allメソッドは該当する全てのタグを検索します。例えば:

html = """
<html>
    <body>
        <p class="content">パラグラフ1</p>
        <p class="content">パラグラフ2</p>
    </body>
</html>
"""

soup = BeautifulSoup(html, "html.parser")
paragraphs = soup.find_all("p", class_="content")

for paragraph in paragraphs:
    print(paragraph.string)

このコードは、クラス属性が「content」の

タグを全て検索し、その内容を出力します。find_allメソッドは非常に強力で、特定の属性やテキストを持つタグを簡単に検索できます。

属性の操作

さらに、タグの属性にアクセスし操作することも可能です。例えば、次のコードはタグのsrc属性を取得します:

html = """
<html>
    <body>
        <img src="image.jpg" alt="example image">
    </body>
</html>
"""

soup = BeautifulSoup(html, "html.parser")
img_tag = soup.find("img")

print(img_tag["src"])

このようにして、HTMLタグの属性を取得することができます。

まとめ

以上、BeautifulSoupを使ったHTMLパースの基本について説明しました。BeautifulSoupは非常に柔軟で使いやすいため、ウェブスクレイピングやデータ解析に役立つ強力なツールです。さらに学びたい方は、公式ドキュメントを参照すると良いでしょう。公式ドキュメント(外部リンク)には、より多くの情報と詳細な例が掲載されています。

コメントを残す