[feedparser]特定の記事のみ出力する

feedparserモジュールを使うと簡単にRSSフィードのデータを取得することができます。

import feedparser  

url = 'https://news.yahoo.co.jp/pickup/rss.xml'  

for entry in feedparser.parse(url).entries:  
    print(entry.title, entry.link)

>>
第99代首相に菅義偉氏 https://news.yahoo.co.jp/pickup/6371258
H&M 新疆巡り業者と取引停止 https://news.yahoo.co.jp/pickup/6371247
都163人感染 2日連続100人超 https://news.yahoo.co.jp/pickup/6371260
目の再生医療 iPS移植手術へ https://news.yahoo.co.jp/pickup/6371234
東北道で最高120kmに 影響は https://news.yahoo.co.jp/pickup/6371251
ダル白星消える 僕が悪かった https://news.yahoo.co.jp/pickup/637125

entry.titleで記事のタイトル、entry.linkでURLを出力します。

条件を絞って目的の情報だけ抽出する場合を考えてみます。

ある話題に関する記事のみ抽出する

ある特定の単語を含む記事のみ抽出することで、抽出する話題を絞ることができます。

import feedparser  

url = 'https://news.yahoo.co.jp/pickup/rss.xml'  

for entry in feedparser.parse(url).entries:
    title = entry.title
    word = "首相"
    if word in title:
        news_title = entry.title

    print(news_title)

>>
第99代首相に菅義偉氏 https://news.yahoo.co.jp/pickup/6371258

条件の単語を増やすことでより集中的に絞ることができます。

特定の日時の更新された記事数をカウントする

今日更新された記事の数をカウントします。

import feedparser
from datetime import datetime

dt = datetime.now()
today = datetime.today().day
count = 0

url = 'https://news.yahoo.co.jp/pickup/rss.xml'  
d = feedparser.parse(url)

if dt==today:
   for each in range(len(d['entries'])):
          count += 1
print(count)

>>23