Jouer avec les flux RSS avec Python (feedparser) 🐍

Bon, je ne pense pas avoir besoin de faire un rappel sur ce qu'est un flux RSS, toutes les personnes bossant dans l'IT savent forcément ce que c'est si ils suivent une veille informatique active. 🤓

Dans cet article je vais vous donner quelques astuces pour "jouer" avec les flux RSS en utilisant la librairie Python 3 : feedparser.

L'intérêt pour ma part est par exemple de créer un script qui pourrait envoyer un mail automatiquement dès qu'une alerte est ajoutée sur le CERT-FR. 😇

Le lien du flux RSS du CERT est le suivant.

Pour installer la librairie: pip3 install feedparser

Voici un exemple de script permettant d'afficher un grand nombre de possibilités avec cette librairie, chose qui peut être très pratique si l'on souhaite faire une veille pro-active (pour de la sécu par exemple).

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import feedparser

# Création d'une instance
news_feed = feedparser.parse('https://www.cert.ssi.gouv.fr/alerte/feed/')

# Propriétés du flux
print(news_feed.feed.keys())

# Titre du flux
print("Feed Title:", news_feed.feed.title) 

# Sous-titre du flux
print("Feed Subtitle:", news_feed.feed.subtitle)

# Lien du flux
print("Feed Link:", news_feed.feed.link, "\n")

# Propriétés de chaque item du flux
print(news_feed.entries[0].keys())

for entry in news_feed.entries:
    print(f"{entry.title} --> {entry.link}")
    
# Récupération du deernier feed (dernier bulletin CERT-FR)
for i in range(0, len(news_feed.entries)):
    if i == (len(news_feed.entries)-1):
        print("Alert: {} \nLink: {}".format(news_feed.entries[0]['title'], news_feed.entries[0]['id']))

Plus qu'à jouer avec ! 😎