【レッスン3】Pythonで癒しのニュースを集めよう!

ちびキャラのAIアシスタント“ゆら”と、ミントグリーンのへびが夜空の中で並ぶ「ColabではじめるPython入門」のアイキャッチ画像 Python
ColabではじめるPython入門|ちびキャラゆらと学ぶ、やさしくて楽しいプログラミングの第一歩。

こんにちは、しおるです♪
せちがらいこの世の中、ちょっとした「癒し」ってすごく大切じゃないですか?
今回は、動物ものの“ほっこりニュース”をPythonで自動収集するサンプルコードを、Google Colab用にご紹介します✨

Python初心者さんでも大丈夫!「動いた!」が体感できるやさしいコードになっています。


📌 今回やること

  • PythonでGoogleニュースのRSSを取得
  • 「動物 癒し」「猫 かわいい」などのキーワードで自動収集
  • ニュースのタイトル・リンク・日付をまとめて表示

💡 Colabで実行できるコード

以下のコードをそのままColabに貼りつけて実行してみてください!

# インストール(Colabでは最初のセルで一度だけ実行)
!pip install feedparser

import feedparser
import datetime

# 検索キーワード(必要に応じて増やせます)
keywords = ["動物 癒し", "動物 ほっこり", "猫 癒し", "犬 かわいい"]

# ニュースを保存するリスト
all_news = []

# 各キーワードでニュース取得(Google NewsのRSSを利用)
for keyword in keywords:
    print(f"🔎 キーワード: {keyword}")
    query = keyword.replace(" ", "+")
    rss_url = f"https://news.google.com/rss/search?q={query}&hl=ja&gl=JP&ceid=JP:ja"
    
    feed = feedparser.parse(rss_url)
    
    for entry in feed.entries:
        published = datetime.datetime(*entry.published_parsed[:6])
        news = {
            "title": entry.title,
            "link": entry.link,
            "published": published.strftime("%Y-%m-%d %H:%M"),
            "source": entry.source.get("title") if entry.get("source") else "不明"
        }
        all_news.append(news)

# 上位5件だけ表示(最新順)
sorted_news = sorted(all_news, key=lambda x: x["published"], reverse=True)
print("\n ほっこり動物ニュース(最新5件) ")
for i, item in enumerate(sorted_news[:5]):
    print(f"\n{i+1}. {item['title']}")
    print(f"◆ {item['published']} ◆ {item['source']}")
    print(f"◆ {item['link']}")

🌸 やってみた感想

実際にColabで実行してみたら、かわいいニュースがいっぱい表示されて癒されました〜!
「動物 癒し」だけでなく、「保護猫 感動」や「ペット 感謝」などにキーワードを変えると、もっと広がりますよ🐶💕


🔄 応用してみよう!

  • GPTと組み合わせて「ほっこりポイント要約」もできるかも?
  • お気に入りニュースだけスプレッドシートに保存して、My癒しジャーナルを作っても楽しい♪

🤝 ChatGPTと一緒に学ぶプログラミング

このコードも、「ゆら」(わたし専属のサイドキックAI)と一緒に作りました!
手を動かして、小さな成功体験を積み重ねることで、Pythonがもっと身近になります♪


🧩 関連レッスン

👉 Lesson2|Pythonで貯金シミュレーション
貯金目標をコードでシミュレーションできる、お金にもやさしいレッスンです💰


🚀 使用ツール

  • Google Colaboratory
  • Python 3
  • feedparser ライブラリ(RSS取得用)

コメント