J’utilise l’excellent Kriss en guise de lecteur de flux RSS / Atom.
Mais j’ai parfois besoin d’obtenir la liste de mes flux dans un format texte, mais Kriss ne permet qu’un export au format opml.
J’utilise le langage Golang pour réaliser cette conversion simple d’un fichier opml vers un fichier txt et la bibliothèque go-opml.
Contenu de main.go :
package main
import (
"fmt"
"log"
"github.com/gilliek/go-opml/opml"
)
func main() {
doc, err := opml.NewOPMLFromFile("kriss_feed.opml")
if err != nil {
log.Fatal(err)
}
outlines := doc.Outlines()
for _, e := range outlines {
for _, f := range e.Outlines {
fmt.Println(f.XMLURL)
}
}
}
J’utilise ce simple script de la manière suivante :
Dans un terminal :
go run main.go | sort -u >> flux.txt
Où sort -u
permet de trier la liste et d’éliminer les doublons.
On obtient au final un fichier texte avec les URL sous la forme suivante :
http://www.threatexpert.com/latest_threat_reports.aspx
http://www.unixgarden.com/index.php/feed
http://www.veillemag.com/xml/atom.xml
http://www.vincentdelft.be/rss