この記事でできること

OpenAI・Google・GitHubの公式サイトが配信するRSSフィードから、最新ニュースの「日付・タイトル・URL」一覧を1コマンドで取得できるようにします。スクリプトはPython標準ライブラリのみ・約40行で、追加インストールもAPIキーも不要です。本記事の手順と実行結果は、2026年8月11日にWindows 11(Python 3.11.1)のサンドボックス環境ですべて実際に実行したものです。

AIニュース収集自動化の流れ

一次ソース収集の自動化フロー(Python標準ライブラリのみ)

収集は機械・要約はAI・判断は人。役割を分けるのがポイント

毎朝の手動巡回(10〜15分)が、スクリプト実行+AI要約の確認(2〜3分)に置き換わる

公式RSSフィード collect_ai_news.py 最新ニュース一覧 AIで要約→共有
OpenAI Python標準ライブラリのみ 日付・タイトル・URLの ChatGPT / Claudeに
Google AI 追加インストール不要 テキスト一覧を出力 貼り付けて業務影響を
GitHub Changelog 約40行・コピペで動く (そのままAIに渡せる形式) 要約させ、朝会や
(一次ソースのみ) 実行1回=数秒 チャットで共有

なぜ「収集だけ」を機械にやらせるのか

AIニュースの追跡でいちばん時間を食うのは、要約ではなく巡回だからです。複数の公式サイトを毎朝開いて回る作業を機械化すると、残るのは「一覧をAIに貼って要約させ、自分の業務に関係あるものだけ読む」という数分の作業になります。

  • 収集=機械(毎回同じ手順・漏れない)、要約=AI、判断=人、と役割を分けると仕組みが壊れにくい
  • ニュースアプリやSNS経由と違い、公式RSSは一次ソース直結なので伝聞による歪みがない
  • 当メディア(AIディア)の日次ニュース収集も、この記事と同じ手法で毎朝運用している

なお、まとめサイトではなく公式フィードを収集元にするのは正確性のためです。伝聞情報は要約の段階でどれだけ丁寧にやっても元が歪んでいれば直りません。

前提環境

Pythonがインストールされていれば追加準備は不要です。動作確認は次の環境で行いました。

  • Python 3.11.1(python --version の出力: Python 3.11.1)
  • Windows 11(コマンド実行はターミナル。Mac/Linuxでも同じコードで動く標準ライブラリのみを使用)

手順1: スクリプトを保存する

以下を collect_ai_news.py という名前で任意のフォルダに保存します。使うのは urllib(HTTP取得)と xml.etree(XML解析)だけで、どちらもPythonに最初から入っています。

# -*- coding: utf-8 -*-
# collect_ai_news.py — AI企業の公式RSSから最新ニュース一覧を取得する(標準ライブラリのみ)
import re
import sys
import urllib.request
import xml.etree.ElementTree as ET

# 収集先(公式一次ソースのRSS/Atomフィード)
FEEDS = [
    ("OpenAI", "https://openai.com/news/rss.xml"),
    ("Google AI", "https://blog.google/technology/ai/rss/"),
    ("GitHub Changelog", "https://github.blog/changelog/feed/"),
]
MAX_ITEMS = 3  # 各フィードから取る件数

sys.stdout.reconfigure(encoding="utf-8", errors="replace")


def text(el):
    """XML要素からテキストを取り出す(空白を正規化)"""
    return re.sub(r"\s+", " ", (el.text or "").strip()) if el is not None else ""


for name, url in FEEDS:
    req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
    with urllib.request.urlopen(req, timeout=30) as r:
        raw = r.read()
    root = ET.fromstring(raw)
    print(f"== {name} ==")
    items = root.findall(".//item")
    if items:  # RSS 2.0形式
        for it in items[:MAX_ITEMS]:
            print(f"- [{text(it.find('pubDate'))}] {text(it.find('title'))}")
            print(f"  {text(it.find('link'))}")
    else:  # Atom形式
        ns = "{http://www.w3.org/2005/Atom}"
        for it in root.findall(f".//{ns}entry")[:MAX_ITEMS]:
            link = it.find(f"{ns}link[@rel='alternate']")
            if link is None:
                link = it.find(f"{ns}link")
            print(f"- [{text(it.find(f'{ns}updated'))}] {text(it.find(f'{ns}title'))}")
            print(f"  {link.get('href') if link is not None else ''}")
    print()

ポイントは2つです。RSS 2.0とAtomという2種類のフィード形式を自動判別するため、たいていの公式フィードにURL追加だけで対応できます。User-Agent ヘッダを付けているのは、無指定のアクセスを拒否するサイトがあるためです。

手順2: 実行する

保存したフォルダで次を実行します。

python collect_ai_news.py

2026年8月11日の実際の出力がこちらです(加工なし・当日の生出力)。

== OpenAI ==
- [Mon, 10 Aug 2026 14:00:00 GMT] OpenAI’s letter to Governor Abbott on responsible AI infrastructure in Texas
  https://openai.com/index/responsible-ai-infrastructure-texas
- [Mon, 10 Aug 2026 12:00:00 GMT] Model ML completes finance work more efficiently with GPT-5.6 Sol
  https://openai.com/index/model-ml
- [Mon, 10 Aug 2026 17:00:00 GMT] What building an AI-native finance function taught me
  https://openai.com/index/building-an-ai-native-finance-function

== Google AI ==
- [Mon, 10 Aug 2026 14:30:00 +0000] Evolve your marketing with new AI tools
  https://blog.google/products/ads-commerce/google-ads-analytics-ai-updates/
- [Tue, 04 Aug 2026 13:00:00 +0000] The latest AI news we announced in July 2026
  https://blog.google/innovation-and-ai/technology/ai/google-ai-updates-july-2026/
- [Mon, 03 Aug 2026 15:00:00 +0000] Inside our 353,000-person vibe coding course
  https://blog.google/innovation-and-ai/technology/developers-tools/ai-agents-intensive-recap-2026/

== GitHub Changelog ==
- [Mon, 10 Aug 2026 14:27:04 +0000] Copilot on web expands conversation controls
  https://github.blog/changelog/2026-08-10-copilot-on-web-expands-conversation-controls
- [Mon, 10 Aug 2026 14:00:58 +0000] GitHub billing in India now supports automatic recurring payments
  https://github.blog/changelog/2026-08-10-github-billing-in-india-now-supports-automatic-recurring-payments
- [Mon, 10 Aug 2026 12:45:49 +0000] Custom thread subscriptions are being deprecated
  https://github.blog/changelog/2026-08-10-custom-thread-subscriptions-are-being-deprecated

3フィード×3件が数秒で取得できました。この時点で「今朝の巡回」は終わりです。

手順3: 出力をAIに貼って要約させる

一覧をそのままChatGPTやClaudeに貼り付け、次のようなプロンプトで要約させます。

以下は今朝取得したAI関連の公式発表一覧です。
中小企業の業務に影響がありそうなものだけを選び、
「何が起きたか/自社業務への影響/確認すべきこと」を
それぞれ2行以内でまとめてください。
影響が薄いものは「スキップ」とだけ書いてください。

(ここにスクリプトの出力を貼る)

タイトルだけで判断させず、気になった項目はURLを開いて原文を確認してから社内共有してください。AIの要約は下書きであって、一次ソースの代わりにはなりません。

カスタマイズ: 収集先の追加

FEEDS にタプルを1行足すだけです。自社の業種に関係するフィードに差し替えても、そのまま動きます。

収集先の例 フィードURL
OpenAI公式ニュース https://openai.com/news/rss.xml
Google AI公式ブログ https://blog.google/technology/ai/rss/
GitHub Changelog https://github.blog/changelog/feed/

フィードURLの見つけ方: 対象サイトで「RSS」リンクを探すか、サイト名 RSS feed で検索します。ページのHTMLソースに type="application/rss+xml" として埋まっていることも多いです。

つまずきポイント

検証中に確認した注意点です。

  • 403 Forbiddenが返る: User-Agent ヘッダなしのアクセスを拒否するサイトがあります。スクリプトに含めた headers={"User-Agent": "Mozilla/5.0"} を消さないでください
  • 日本語が文字化けする: Windowsのコンソール既定文字コードが原因です。スクリプト内の sys.stdout.reconfigure(encoding="utf-8", ...) で対処済みですが、それでも化ける場合は python -X utf8 collect_ai_news.py と実行してください
  • フィードによって日付形式が違う: RSS 2.0(pubDate)とAtom(updated)で表記が異なります。並び替えが必要になったらemail.utils.parsedate_to_datetime 等での正規化を検討してください(本記事の範囲外)

まとめ

約40行・標準ライブラリのみのスクリプトで、AIニュースの一次ソース巡回が1コマンドになりました。収集を機械に、要約をAIに任せると、人の仕事は「自社にとって重要かの判断」だけに絞れます。手順は2026年8月11日に実行検証済みで、掲載した出力はすべて当日の生出力です。取得した情報の活かし方はAIニュース実務ダイジェストの「明日からできること」形式が参考になります。開発チームでのAI活用はClaude Codeのsubagentコードレビュー自動化もあわせてどうぞ。

VERIFIED
動作確認日: 2026.08.11 / 環境: Python 3.11.1 / Windows 11 / ステータス: passed

よくある質問

プログラミング初心者でも使えますか?
Pythonがインストールされていれば、スクリプトを保存して1行のコマンドを実行するだけです。コードの中身を書き換える必要があるのは、収集先フィードの追加時のみで、URLを1行足すだけです。
RSSの取得は利用規約上問題ありませんか?
RSSフィードは配信側が購読目的で公開している仕組みで、本記事の用途(社内での見出し確認)はその範囲内です。ただし記事本文の転載は著作権侵害になるため、要約・共有はリンクと自分の言葉で行ってください。取得間隔も常識的な頻度(1日数回まで)に留めるのが礼儀です。
毎朝自動で実行するには?
Windowsならタスクスケジューラ、Macならlaunchd/cronにこのコマンドを登録すれば毎朝自動実行できます。本記事で検証したのは手動実行までで、スケジューラ登録の手順は別記事で扱う予定です。
AI導入・活用支援

AI導入・実装のどこから着手するかを、30分で整理します

支援内容・進め方・料金の考え方を、30分のオンラインで整理します。フォームは3項目、送信は30秒です。

無料で相談する(30秒で送信)

先にサービス内容と料金を見る →

無料で相談してみる →