Webseiten, die Inhalte per JavaScript nachladen, sind mit traditionellen Tools wie requests
oder BeautifulSoup
kaum zuverlässig zu scrapen. Playwright bietet hier eine moderne Lösung – vor allem auf Macs mit Apple Silicon, wo viele Tools nicht „out of the box“ laufen. In diesem Artikel zeige ich dir Schritt für Schritt, wie du Playwright in der UTM unter Ubuntu Desktop ARM installierst, mit codegen
nutzbare Selektoren erstellst und ein Python-Skript baust, das dynamische Inhalte lädt und in eine JSON-Datei schreibt.
1. UTM installieren (kostenlos und nativ für Apple Silicon)
- Lade UTM von der offiziellen Website herunter:
https://mac.getutm.app/ - Öffne die
.dmg
und ziehe UTM in deinen Programme-Ordner. - Starte UTM.
2. Ubuntu 22.04.x ARM64 Server herunterladen
- Gehe zu:
https://cdimage.ubuntu.com/releases/jammy/release/ - Lade das 64-bit ARM (ARMv8/AArch64) server install image ISO herunter.
(z.B. Datei:ubuntu-22.04.5-server-arm64.iso
)
3. Neue Ubuntu-VM in UTM erstellen
- Öffne UTM > „+“ > „Virtualize“
- Wähle „ARM64 (aarch64)“
- Unter Boot ISO Image: Wähle das eben geladene Ubuntu-Desktop-ISO
- Hardware-Einstellungen:
- CPU Cores: mindestens 4
- RAM: mindestens 4096 MB (besser 8192 MB)
- Storage: z.B. 32 GB
- Netzwerk: Aktiviere Bridged oder Emulated NAT, je nach Wunsch
- Beende die Einrichtung, klicke „Save“ und dann „Start“.
4. Ubuntu installieren (in der VM)
- Folge dem Ubuntu-Installationsprozess (Sprache, Benutzername etc.)
- Wichtig: Aktiviere „Install third-party software for graphics & Wi-Fi“
(das hilft bei grafischer Darstellung und Codegen) - Installiere Ubuntu Desktop nach mit:
sudo apt update && sudo apt upgrade -y sudo apt install ubuntu-desktop -y sudo reboot
Diese Methode bietet eine stabile Umgebung mit der LTS-Version.
5. Ubuntu für Playwright vorbereiten
Im Terminal der Ubuntu-VM:
sudo apt update && sudo apt upgrade -y sudo apt install git curl wget unzip -y
6. Python + venv installieren
sudo apt install python3 python3-venv python3-pip -y
Erstelle ein Arbeitsverzeichnis:
mkdir ~/playwright-project cd ~/playwright-project python3 -m venv venv source venv/bin/activate
7. Playwright installieren + Browser vorbereiten
pip install playwright playwright install
Falls Fehler auftreten, installiere zusätzlich fehlende Pakete:
sudo apt install libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libxcomposite1 libxrandr2 libxdamage1 libxss1 libasound2 -y
8. codegen
mit GUI nutzen
playwright codegen https://quotes.toscrape.com/js/
Es öffnet sich der Chromium-Browser innerhalb der Ubuntu-VM – du kannst jetzt auf Elemente klicken, und Playwright generiert passenden Python-Code automatisch!
9. Beispiel-Skript speichern und ausführen
- Kopiere Code aus dem Codegen-Fenster in
scrape.py
- Im Terminal deiner VM:
python scrape.py
- Optional: Speichere Ergebnisse als JSON:
import json # ... (Daten sammeln) with open("quotes.json", "w") as f: json.dump(data, f, indent=2)
Fazit
Mit UTM + Ubuntu Desktop (ARM64) erhältst du eine komplett isolierte Umgebung mit GUI, in der Playwright und codegen
problemlos laufen, selbst auf einem M1/M2/M3-Mac – ganz ohne Rosetta oder Docker. Ideal für sicheres, reproduzierbares Scraping mit dynamischen Seiten.