【初心者OK】PythonでWebスクレイピング入門|BeautifulSoupの基本と実践

はじめに:Webスクレイピングとは?

Webスクレイピングとは、Webサイトから情報を自動的に取得・抽出する技術のことです。
例えば、「商品価格の一覧を取得したい」「ブログ記事のタイトルだけをまとめたい」といった場面で活用されます。

PythonはWebスクレイピングに非常に適した言語で、初心者でも扱いやすいライブラリが豊富に用意されています。今回はその中でも、定番ライブラリ「BeautifulSoup」の基本的な使い方と、簡単な実践例を紹介します。


使用するライブラリの紹介

PythonでWebスクレイピングを行うには、以下のライブラリを使用します。

ライブラリ役割
requestsWebページのHTMLを取得する
BeautifulSoupHTMLを解析し、特定の要素を抽出する
pip install requests beautifulsoup4

基本ステップ:スクレイピングの流れ

Webスクレイピングの基本的な流れは次の通りです。

  1. requestsでWebページのHTMLを取得
  2. BeautifulSoupでHTMLをパース(解析)
  3. 必要な情報を抽出(タグやクラスを指定)
  4. データの整形・保存

実践例:ニュース記事のタイトルを取得してみよう

今回は例として、「Yahoo!ニュース(ITカテゴリ)」の見出しタイトルを取得してみましょう。

サンプルコード

import requests
from bs4 import BeautifulSoup

# スクレイピング対象のURL
url = "https://news.yahoo.co.jp/categories/it"

# HTMLを取得
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")

# タイトルを取得(classは記事構造により変わる可能性あり)
titles = soup.select("a.sc-7452b7c0-2")  # 例:classが"sc-7452b7c0-2"のリンク

# 表示
for title in titles:
    print(title.get_text())

🔍 補足:Webサイトによってはクラス名が動的に変わる場合があります。常に最新のHTML構造を「開発者ツール(F12)」などで確認しましょう。


よく使うBeautifulSoupのメソッド一覧

メソッド説明
soup.find()最初の1件のみ取得
soup.find_all()条件に一致するすべての要素を取得
soup.select()CSSセレクタで複数要素を取得(柔軟性が高い)
.get_text()要素のテキストのみ取得
.attrs['href']属性(例:リンク先URL)を取得

スクレイピングの注意点とマナー

Webスクレイピングにはルールやマナーがあります。

  • robots.txtを確認:スクレイピング禁止エリアを定義している場合があります。
  • 過度なアクセス禁止:短時間に大量アクセスは迷惑行為になります。
  • 商用利用は要注意:データの無断利用は著作権などの問題を引き起こす場合があります。

応用編:取得データをCSV保存する

取得したデータをCSVファイルに保存することで、業務やデータ分析に活かせます。

import csv

with open("titles.csv", mode="w", encoding="utf-8", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["タイトル"])
    for title in titles:
        writer.writerow([title.get_text()])

まとめ

Webスクレイピングは、業務の自動化・データ収集・分析の第一歩として非常に有効な技術です。
特にPythonとBeautifulSoupは、初心者にもやさしく扱いやすいため、ぜひ挑戦してみてください。

今後は以下のような応用も可能です

  • Python+Seleniumで動的なサイトに対応
  • pandasでスクレイピング結果を整形・分析
  • スクレイピング×機械学習で需要予測や自動レコメンド

おすすめ関連記事


あなたの技術をキャリアに活かしませんか?

今のスキル、活かしきれていますか?
「もっと技術で評価されたい」「年収を上げたい」と思ったら、ハイクラス転職エージェントの活用がおすすめです。

✅【20代〜30代向け】技術に強いキャリア支援
✅ 年収600万円〜1,000万円の非公開求人多数
✅ 無料でキャリア相談OK!

👉 ハイクラス転職でキャリアを一気に加速させる方法はこちら

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