SWR-Hitparade „scratchen“ mit dem HTMLAgilityPack

Wer in Baden Württemberg wohnt kennt sie, die SWR-Hitparade, bei der jedes Jahr im Herbst die von den Hörern am meisten gewünschten Musiktitel von Platz 1100 bis 1 gspielt werden. Nonstop (natürlich unterbrochen von Nachrichten, Verkehr und Werbung), über mehrere Tage. Für die einen ist sie Kult, für anderen ein wenig nervig (ich liege irgendwo in der Mitte mit Tendenz zu „nervig“). Platz 1 und 2 machen seit Jahren (oder schon immer) Stairway to Heaven und Bohemian Rapsody unter sich aus, auch bei den übrigen Top 100-Plätzen gibt es eher wenig Bewegung. Die Hitparade lebt von ihren „Kultelementen“ (Stairway to Heaven, der Anrufer, der bei „Child in time“ darum bittet man möge ihm doch das „Gejaule“ ersparen), den Moderatoren natürlich, der Party-Stimmung im Studio, der Abschlussparty in der Hans Martin Schleyer-Halle mit Status Quo und der bunten Mischung an Musik. Wenn aber auf AC/DC Andreas Bourani, auf Pink Floyd City, auf John Miles Metallica und auf Dire Straits mit Brother in Arms Helene Fischer folgen, ist das schon etwas viel Abwechslung für meinen Geschmack und für mich daher etwas schwer verdaulich.

Ein großer Nachteil ist, dass es der SWR einfach nicht schafft, alle Titel auf einmal in einem einheitlichen Format zur Verfügung zu stellen (oder nicht will oder nicht darf). Die aktuellen Titel muss man sich jeweils 20 Titel Seite für Seite aufrufen oder einzeln danach suchen, die Platzierungen der anderen Jahre gibt es als Pdf (!). Eine Auswertung oder eine Abfrage nach dem Motto „Wie oft wurde Bruce Springsteen gespielt und was war seine beste Platzierung?“ oder „Wie oft kam auf Helene Fischer Metallica ?“ waren damit bislang nicht möglich.

Doch das ist jetzt vorbei. Mein kleines PowerShell-Skript ruft alle Seiten vom Swr-Server einzeln ab, zerlegt das Html mit Hilfe des genialen HTMLAgilityPacks und legt pro Internet/Iitel/Platzierung ein Objekt an, so dass man anschließend die Platzierungen über die Variable $Hitparade nach Herzenslust auswerten kann.

Die daraus abgeleitete Html-Seite gibt es unter SWRHitparade2014

Wichtig: Damit das Skript funktioniert, benötigt ihr das HtmlAgilityPack und müsst die Datei HtmlAgilityPack.dll in ein Verzeichnis kopieren und diesen pfad auf Add-Type folgen lassen.

Wer in XPath richtig fit ist, kann sich auch die Schleife sparen und direkt in einem Ausdruck auf das span-Element zugreifen, in dem Internet und Titel enthalten sind. Sollte jemand das hinbekommen haben, bitte ich natürlich um die Lösung (der erste Einsender erhält von mir ein PowerShell-Buch).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.