Heute stand ich vor der Herausforderung ein Reihe von Webseiten zu parsen, damit ich die notwendigen Informationen nicht abtippen muss.
Ziel ist es alle Filme ab 1960 in eine Excel Datei zu bekommen. Jedes Jahr hat mehrere Unterseiten, wobei unklar ist, wie viele es sind. (ich habe es konkret auf die ersten 10 Seiten begrenzt)
Parsen einer Webseite
Die erste Herausforderung beseht darin eine einzelne Seite zu parsen. Hier hat es sich als sinnvoll erwiesen einerseits mit einem Browser und andererseits mit dem Power Query Editor parallel die Seite zu analysieren. Ergebnis ist eine Tabelle mit Filmtiteln.
Liste der Seiten, die geparst werden sollen
Als nächstes benötigen wir eine Liste der Jahre / Pages, die man schlussendlich analysiert haben möchte. Ich habe mir hier nicht viel Arbeit angetan und 3 Formeln in Excel hinterlegt:
- [A] =WENN(B2=10;A2+1;A2)
- [B] =WENN(B2+1>10;1;B2+1)
- [C] =VERKETTEN(“https://www.kino.de/filme/jahre/”;A3;”/page/”;B3;”/”)
Das Ergebnis lässt sich mittels [Aus Tabelle/Bereich] recht leicht in Power Query überleiten.
Verschmelzen der beiden Bestandteile
Das Parsen einer einzelnen Seite muss nun in eine Funktion übergeleitet werden. Das geht recht einfach indem man eine URL als Parameter der Abfrage hinzufügt und diese zur Funktion macht.
Daraufhin fügt man der URL-Liste die Funktion hinzu: