Artikel suchen 

Artikel suchenFilter
Überprüfung des OPML-Exports der in Thunderbird abonnierten Feeds mit Perl.

Thunderbird OPML-Export

Thunderbird OPML-Export

Problem

Ich habe ne Menge Feeds in Thunderbird abonniert.

Ab und zu ändern sich da die Feed-URLs oder die Seiten verschwinden ganz. Da Thunderbird in diesen Fällen nur eine 2-sekündige Meldung in die Statusleiste schreibt, merkt man das meistens nicht.

Lösung

Um das einfach zu überprüfen, kann man seine abonnierten Feeds als OPML exportieren (im Abonnieren-Dialog auf "Exportieren" klicken) und mit diesem kleinen Perl-Script die URLs prüfen:

#!/usr/bin/perl

use LWP::UserAgent;
my $ua = LWP::UserAgent->new();

open(OPML, '<', 'Meine_Thunderbird_Feeds.opml');
foreach my $line (<OPML>) {
	if ($line =~ /title="([^"]*)".*xmlUrl="([^"]*)"/i) {
		my ($title, $url) = ($1, $2);
		my $response = $ua->head($url);
		print "ERROR (" . $response->status_line() . "): $title -> $url\n"
			unless $response->is_success();
	}
}

Ohne die Leer- und Shebang-Zeilen nur 11 Zeilen ;)

Einschränkungen

  • Parst die Einträge nicht als XML sondern als Reintext. Das ist generell fehleranfällig, funktioniert in diesem Falle aber gut.
  • Der HTTP-Request wird von Wordpress als "Bad Behavior" identifiziert, weil er nicht wie ein Request von einem Webbrowser aussieht. Der Feed funktioniert in diesen Fällen i.d.R. jedoch problemlos.

Erstellt am 23.06.2007 um 13:45 Uhr von streawkceur.
Abrufe: 1514 - Kommentare: 0 - Trackbacks: 2 - Trackback-Link: http://gedankenkonstrukt.de/blog/trackback/?id=36.
Tags: , , , , , , , , .  

Trackbacks 

Quelle:Feeds aus OPML-Datei auf Existenz prüfen in 11 Zeilen Python Code
Datum:23.06.2007 um 15:41 Uhr.
Auszug:Überprüfung des OPML-Exports der in Thunderbird abonnierten Feeds. Jetzt mit Python ;)

Quelle:Feeds aus OPML-Datei auf Existenz prüfen in 1 (einer) Zeile Perl Code
Datum:23.06.2007 um 15:41 Uhr.
Auszug:Als Finale eine golfige Perl-Lösung in einer Zeile Code. Kann Python das auch?

  

Derzeit keine Kommentare.