PythonでWebスクレイピング入門|BeautifulSoup&requests実践

「Webサイトのデータを自動で取得したい」 「Pythonでスクレイピングをやってみたいけど難しそう…」 そんな初心者の方に向けて、本記事ではPythonでのWebスクレイピングの基本を解説します。
実際のコード例を交えて、最初の一歩を安心して踏み出せるようにまとめました。

1. Webスクレイピングとは?

Webスクレイピングとは、プログラムを使ってWebページから情報を取得する技術のことです。
Pythonは requestsBeautifulSoup を組み合わせることで、簡単にスクレイピングができます。

  • 価格調査(ECサイトの商品価格を収集)
  • ニュース記事の自動取得
  • 求人情報の収集

2. 環境構築

必要なライブラリをインストールしましょう。


pip install requests beautifulsoup4
  

3. 基本コード例

ニュースサイトのタイトルを取得するシンプルな例です。


import requests
from bs4 import BeautifulSoup

url = "https://example.com/news"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")

titles = soup.find_all("h2")
for t in titles:
    print(t.text)
  

4. 実践:商品データを取得

ECサイトから商品名と価格を収集する例です。


import requests
from bs4 import BeautifulSoup

url = "https://example.com/shop"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")

products = soup.find_all("div", class_="product")

for p in products:
    name = p.find("h3").text
    price = p.find("span", class_="price").text
    print(name, price)
  

5. スクレイピング時の注意点

  • サイトの利用規約を必ず確認する
  • アクセス過多を避けるため time.sleep() を使う
  • APIが公開されている場合はAPIを利用する

6. 応用:データをExcelに保存

取得したデータをExcelに書き出せば、業務活用できます。


import pandas as pd

data = [
    {"商品名": "A商品", "価格": 1200},
    {"商品名": "B商品", "価格": 1500},
]

df = pd.DataFrame(data)
df.to_excel("products.xlsx", index=False)
print("Excelに保存しました!")
  

まとめ

PythonでのWebスクレイピングは、requests+BeautifulSoup を使えば簡単に始められます。
商品データやニュース記事の収集、Excel出力まで応用できるので、案件獲得や副業にも直結するスキルです。
まずは小さなサイトから練習してみましょう。

👉 関連記事:Excel業務を自動化する方法 と組み合わせれば、さらに効率的に活用できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です