Web Scraping mit Power Automate Desktop – Easy!

Die Development Oberfläche für Business

Power Automate bzw. Power Automate Desktop ist – aus unserer Sicht – eine der unterschätzesten Anwendungen auf Windows PCs in den vergangenen Jahren. Es is noch immer ein Rätsel, warum nicht mehr Mitarbeiter in Unternehmen zur Nutzung des Tools incentiviert werden. Einer von vielen Anwendungsfällen: Web Scraping! Was wenn die Informationen, die ich für meinen Job (eine Präsentation oder ein Dokument) wichtig sind, auf einer Website zu finden, ich aber keine Lust habe, diese abzuschreiben oder manuell zu kopieren?

In diesem Artikel gibt es 3 Ansätze (es gibt noch mehr) in Power Automate Desktop, wie man Informationen von einer Website automatisiert abruft, um diese dann weiterzuvearbeiten.

1 | Browser + Web Page Details Action

Wer gar keinen Code schreiben kann oder möchte, kann sich einer einfachen Built-In Action in Power Automate Desktop bedienen: Get details of web page.

Power Automate Desktop Flow: Webseiten Details Aktion

Dazu wird in einer ersten Aktion eine Browser-Instanz geöffnet (wir empfehlen Microsoft Edge). Und danach wird die Action „Get details of web page“ mir Referenz zu der gerade eröffneten Browser-Instanz ausgeführt. In dieser Action kann man zwischen 6 verschiedenen Web Page Details auswählen (z.B. Website Title, Description, etc.). Wenn man nicht genau weiß, welche die richtige ist: Einfach „Web poge source“ wählen und von dort aus weiterarbeiten. Es exportiert den gesamten HTML Quelltext der Website.

Power Automate Desktop Flow: Webseiten Details Optionen Auswahl

Diese Option ist super easy und braucht keine Code-Kenntnisse. Sie ist aber auch – zugegeben – etwas unflexibel. Wer etwas Spezifischeres als die sechs Website-Detail-Arten benötigt, sollte vielleicht eher in Richtung von Option 2 schauen.

Hinweis: Damit Schritt 1 „Launch Browser“ funktioniert, sollte das Power Automate Desktop Browser Add-On installiert und aktiviert sein.

2 | Browser + Javascript Funktion

Der Beginn ist der gleiche: Browser launchen und die gewünschte Website aufrufen (thebigc-agency.de).

Power Automate Desktop Flow: Javascript Funktion auf Website

Im nächsten Schritt sind Anwendern dann aber kaum noch Grenzen gesetzt. Mit der „Run Javascript function“ Aktion in Power Automate Desktop, führt die Software kleine Javascript Skripte innerhalb des Browsers auf der Website aus und liefert (return Statement) gewünschte und gesuchte Informationen zurück.

Power Automate Desktop Flow: Javascript Funktion Scraping Hyperlinks auf Website
Eine einfache Javascript Funktion, die im Browser läuft, um alle Hyperlinks im HTML Dokument zu identifizieren, ihre href-Attribute zu extrahieren und am Ende Links zu filtern, die eine Raute (Anchor-Links) enthalten. Das Ganze wird als langer Text mit Pipe-Seperatoren in den Flow zurückgegeben.

Diese Option ist relativ einfach, wenn man sich ein bisschen mit Javascript Expressions wie .querySelector, querySelectorAll oder .getElementsByClassName auskennt. Bei der Ausgabe der Daten aus der Aktion (mit dem return-Statement) muss man ein bisschen tricksen, weil Power Automate bevorzugt Texte und Zahlen entgegennimmt. Im gezeigten Beispiel wird so z.B. ein Array zu einem langen Text-String gejoined, der dann wieder in eine Liste geteilt wird (Split Text Aktion).

Hinweis: Wie auch schon bei Option 1, ist das Power Automate Browser Add-on notwendig.

3 | Invoke Web Service (Request Action)

Für die Puristen noch eine weitere Option: Die Anforderung des Website-Codes über einen HTTP-Request. Dazu muss man zwar kein Browserfenster öffnen, aber es hat sicherlich auch ein paar Tücken. In dieser Option wird die Aktion „Invoke Web Service“ verwendet, um einen HTTP Request an einen Webserver gesendet mit der Bitte eine Ressource (in diesem Fall die Startseite von thebigc-agency.de) auszugeben (GET-Request).

Power Automate Desktop Flow: HTTP Request für Website

Das funktioniert für die THE BIG C Agency Website einwandfrei und man erhält jede Menge HTML Markup in der definierten Response-Variablen zurück. Diesen Text kann man nun mit Transformationen in Power Automate Desktop weiter verarbeiten oder als .html File auf dem PC speichern.

Power Automate Desktop Flow: HTTP Request Eingabe

Diese Option ist, zugegeben nicht die flexibelste Variante um Informationen von einer Website zu bekommen. Das Hauptproblem: Verwenden Webseiten viel oder nur Javascript (Single Page Applications), um Seiten-Inhalte darzustellen, wird meistens nur eine sehr spärliche Skript-Zeile vom Request zurückgegeben.
Vorteil der Web Service Aktion ist hingegen, dass sie auch HTML Dokumente hinter einer Authentifizierung erreichen kann, wenn die entsprechenden Daten hinterlegt werden (Das funktioniert im Browser auch, ist aber aufwendiger).

Tatsächlich ist „Invoke Web Service“ Aktion eher für Anwendungsfälle rund um die Ansprache von APIs geeignet. Dies ist aber ein neuer Artikel für die kommenden Tage.

Mehr Software Automatisierung in deinem Unternehmen?

Wenn du erfahren möchtest, welche deiner White Collar Arbeitsschritte du in deinem Unternehmen mit Power Automate automatisieren und beschleunigen kannst, schicke jetzt eine unverbindliche Anfrage an THE BIG C Agency.

E-Mail-Adresse vom Chef: thebigc@thebigc-agency.de