#author("2023-03-02T12:49:54+09:00","default:yakumo_murakami","yakumo_murakami") #author("2023-05-27T10:24:13+09:00","default:yakumo_murakami","yakumo_murakami") [[今さらPython]] こんなの。 機能は以下。 - お昼休みにNHKのニュース一覧を確認したい、ただそれだけのものです。 - 記事の頭にある番号を --get=番号 で指定すると、サマリーも呼び出せます。 - Python3と feedparser(pipモジュール)だけあれば基本動くと思います。 注意点は以下。 - viewオプションは外部ブラウザを呼びますが、Windows10+git on bash環境下でWindows版Pythonを実行した環境でしかテストしていません。 - PROXY等の環境をこれ自体では意識してないので、壁の中の環境ならそれなりの対応と、もしかしたら管理者の許可が必要でしょう。 * ソース [#s3736877] #!/usr/bin/env python # pipで入れたモジュールが動くかテスト。 # (あと、ネット環境が動くかもテスト) import datetime import feedparser #import jaconv import os import re import subprocess import sys import time myself = sys.argv[0] # 主要(0) #key=0 # 社会(1) key=1 # 国際(6) p = re.compile(r'\-max=([0-9]+)$',flags=re.IGNORECASE) p2 = re.compile(r'\-key=([0-9]+)$',flags=re.IGNORECASE) p3 = re.compile(r'\-get=([0-9]+)$',flags=re.IGNORECASE) p5 = re.compile(r'\-view=([0-9]+)$',flags=re.IGNORECASE) p4 = re.compile(r'\-help$',flags=re.IGNORECASE) # 記事の最大数 o=18 g=-1 g2=-1 for x in sys.argv: if(p.search(x) != None): o=int(re.sub(p,'\\1',x)) if(o < 0): o = o * -1 elif(p2.search(x) != None): key=int(re.sub(p2,'\\1',x)) elif(p4.search(x) != None): print("1. news title: "+myself) print("2. news key: "+myself+" --key=(news key)") print("3. news summary: "+myself+" --get=(news key)") print("4. call www: "+myself+" -view=(news key)") print("5. This message: "+myself+" --help") quit() elif(p3.search(x) != None): g=int(re.sub(p3,'\\1',x)) if(g < 0): g = g * -1 #print("get: "+str(g)) elif(p5.search(x) != None): g2=int(re.sub(p5,'\\1',x)) if(g2 < 0): g2 = g2 * -1 print("get: "+str(g2)) url = "https://www.nhk.or.jp/rss/news/cat"+str(key)+".xml" d = feedparser.parse(url) gg = 0 for entry in d.entries: if(g >= 0 or g2 >= 0): if(gg == g): print(entry.title) print(entry.link) print(entry.summary) elif(gg == g2): subprocess.run(["start",entry.link],shell=True) else: print(str(gg)+"\t"+entry.title+"\n\t"+entry.link) gg = gg + 1 o = o - 1 if(o < 1): break * 実行 [#eae6b94a] $ news.py -get 1 0 海外投資詐欺事件 会社社長ら8人再逮捕 数億円の現金押収 http://www3.nhk.or.jp/news/html/20230302/k10013995881000.html 1 去年 自転車乗車中の事故で死亡 ヘルメット非着用が2倍強 http://www3.nhk.or.jp/news/html/20230302/k10013995821000.html : (snip) : $ news.py --help 1. news title: C:/Users/000001A00C008/bin/news.py 2. news key: C:/Users/000001A00C008/bin/news.py --key=(news key) 3. news summary: C:/Users/000001A00C008/bin/news.py --get=(news key) 4. call www: C:/Users/000001A00C008/bin/news.py -view=(news key) 5. This message: C:/Users/000001A00C008/bin/news.py --help 1. news title: news.py 2. news key: news.py --key=(news key) 3. news summary: news.py --get=(news key) 4. call www: news.py -view=(news key) 5. This message: news.py --help $ news.py -get=1 去年 自転車乗車中の事故で死亡 ヘルメット非着用が2倍強 http://www3.nhk.or.jp/news/html/20230302/k10013995821000.html 来月から着用が努力義務化される自転車のヘルメットについて、警察庁が去年1年間に起きた自転車関連の事故を調査した結果、乗車中に死亡した人のうち、ヘルメットを着用していなかった人の割合は着用していた人の2倍余りだったことが分かりました。 $