PythonでWebスクレイピング入門|BeautifulSoup&requests実践
「Webサイトのデータを自動で取得したい」
「Pythonでスクレイピングをやってみたいけど難しそう…」
そんな初心者の方に向けて、本記事ではPythonでのWebスクレイピングの基本を解説します。
実際のコード例を交えて、最初の一歩を安心して踏み出せるようにまとめました。
1. Webスクレイピングとは?
Webスクレイピングとは、プログラムを使ってWebページから情報を取得する技術のことです。
Pythonは requests
と BeautifulSoup
を組み合わせることで、簡単にスクレイピングができます。
- 価格調査(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業務を自動化する方法 と組み合わせれば、さらに効率的に活用できます。