NHKニュースのRSS

NHKオンラインはRSSでニュースを提供している(→RSSについて)。これを定期的に読んで,気になるニュースを通知してみよう。

まずは主要ニュースのフィードを読んで各項目のタイトルを表示するだけのコード:

import feedparser

d = feedparser.parse('https://www.nhk.or.jp/rss/news/cat0.xml')
for i in d['entries']:
    print(i['title'])

あとは好きなように拡張すればよい。例えば10分ごとに読みに行って新着ニュースのタイトルを表示し,タイトルに「東京」が含まれればMacの通知センターにも通知を表示する:

import feedparser
import time
import os

s = set()

while True:
    print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
    d = feedparser.parse('https://www.nhk.or.jp/rss/news/cat0.xml')
    for i in d['entries']:
        x = i['title']
        if x not in s:
            print(x)
            s.add(x)
            if '東京' in x:
                x = x.replace("'", "").replace('"', '')
                os.system(f"osascript -e 'display notification \"{x}\"'")
    time.sleep(600)  # 10分

条件はいろいろ変えられる。例:

            if '東京' in x and ('感染' in x or 'コロナ' in x):

ほかにメールやLINEを送ったりツイートしたりすることもできる。メールを送るには postfix などが動いているマシンで次のようにする:

                os.system(f"echo '{x}' | mail hoge@example.com")

ちなみに,例えば三重県のニュース https://www3.nhk.or.jp/lnews/tsu/ であれば https://www3.nhk.or.jp/lnews/tsu/toplist.xml のように最後に toplist.xml を付ければ地方版の RSS も得られることを教えていただいた。


Last modified: