Pythonの得意技のひとつが「スクレイピング」です。
今回は、特定のWebサイトから最新のニュース見出しを自動取得し、要約・表示まで行うツールを作ってみましょう。
🔧 今回の目標
- ニュースサイト(例:Yahooニュース)のトップ記事を取得
- 見出しとリンクを一覧で表示
- 後で応用してLINE通知やメール送信も可能に!
📦 使用ライブラリ
pip install requests beautifulsoup4
📝 Pythonコード例
import requests
from bs4 import BeautifulSoup
# ニュースサイトのURL(例:Yahooニュース トップ)
url = "https://news.yahoo.co.jp/"
# HTML取得
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
# トップニュース見出しを取得(構造はサイトによって異なる)
headlines = soup.select("a.sc-fznyAO") # 要調整
print("📢 最新ニュース一覧:")
for h in headlines[:5]:
title = h.text.strip()
link = h.get("href")
print(f"{title} → {link}")
📎 注意点
- HTMLの構造はサイトによって異なるため、selectのセレクタは都度調整が必要です
- 過剰アクセスを避けるため、適切な間隔・User-Agent設定も重要です
- APIが用意されているサイトはAPI経由の取得が理想的です
💡 応用アイデア
- 取得データを毎日保存して変化を記録
- ChatGPT APIと連携して要約生成
- SlackやLINEへ自動通知
▶️ 次回予告
Day31では、Pythonで天気予報や気温・湿度などの気象情報を取得し、自動で「今日の服装アドバイス」や「警報通知」を行うツールを紹介予定です!
コメント