Pythonスクレイピング超入門:BeautifulSoupで5分で完成!

プログラミング

 

🐍 Pythonスクレイピング超入門:BeautifulSoupで5分で完成!

ウェブサイトの情報を自動で取得したいと思ったことはありませんか? 例えば、ニュースサイトの最新記事タイトルを集めたり、商品価格をチェックしたり。 そんなときに役立つのが Pythonのスクレイピング です。 この記事では、たった5分で BeautifulSoup を使ったスクレイピングができるようになる超入門ガイドを紹介します。


✅ 必要なもの

まずはPythonがインストールされていることを確認してください。 次に、スクレイピングに使うライブラリをインストールします。

pip install requests beautifulsoup4

これで準備完了です!


🌐 1. Webページを取得する

まずはウェブページのHTMLを取得してみましょう。 ここでは例として https://example.com を使います。

import requests

url = "https://example.com"
response = requests.get(url)

print(response.text[:500])  # HTMLの先頭500文字を表示

requests.get() で指定したURLのHTMLを取得できます。 これがスクレイピングの第一歩です。


🍜 2. BeautifulSoupでHTMLを解析

取得したHTMLから、特定の部分だけを抜き出してみましょう。

from bs4 import BeautifulSoup

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

title = soup.find("h1").text
print("ページタイトル:", title)

これだけで、ページのタイトル(<h1>タグの内容)が取り出せます!


📋 3. 複数要素をまとめて取得

たとえば、ニュース一覧のタイトルやリンクをすべて取得したい場合は以下のようにします。

articles = soup.find_all("a")

for a in articles[:5]:
    print(a.text, "-", a.get("href"))

find_all() を使うと、特定タグを一括で取得できます。 上の例では、最初の5個のリンクテキストとURLを表示しています。


⚙️ 4. 応用:特定クラス名の要素を抽出

実際のWebページでは、CSSクラスを指定して狙い撃ちすることが多いです。

news_titles = soup.find_all("h2", class_="news-title")

for title in news_titles:
    print(title.text)

クラス名はブラウザの「検証」機能で確認できます。


🚫 注意:スクレイピングのマナー

  • 利用規約で禁止されていないか確認する
  • アクセス頻度を下げ、サーバーに負担をかけない
  • 公開データのみに限定する

マナーを守れば、安心してデータ収集を楽しめます。


🏁 まとめ

わずか数行のPythonコードで、ウェブページの情報を自動取得できました。 BeautifulSoupはシンプルながら非常に強力で、実務でもよく使われます。

今日からあなたもスクレイピングデビュー!🚀


🧩 次のステップ


この記事が役に立ったら、ブックマーク&シェアをお願いします!

タイトルとURLをコピーしました