JavaScript rendern
SPAs und JS-lastige Seiten benötigen echte Browserausführung. Die Web Scraping API übernimmt das über ein einziges Flag.
Rendering aktivieren
Abschnitt betitelt „Rendering aktivieren“Fügen Sie render_js=1 zu jeder Anfrage hinzu. Shifter startet eine frische Headless-Chrome-Instanz, navigiert zur URL und liefert das DOM nach dem Rendering zurück.
curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://example.com&render_js=1"JS-Rendering wird mit denselben 1 Credit pro erfolgreicher Anfrage abgerechnet wie statische Abrufe. Kein Aufpreis.
Auf Inhalte warten
Abschnitt betitelt „Auf Inhalte warten“Die meisten SPAs sind fertig geladen, sobald ein bestimmtes Element erscheint. Verwenden Sie wait_for_css, um zu warten, bis dieser Selektor gerendert wird:
curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://shop.example.com&render_js=1&wait_for_css=.product-price"Die Anfrage wird abgeschlossen, sobald .product-price im DOM vorhanden ist, oder schlägt bei Zeitüberschreitung fehl (Standard 30s).
Timeouts erzwingen
Abschnitt betitelt „Timeouts erzwingen“Begrenzen Sie die Gesamtzeit, die der Browser auf einer Seite verbringen darf, mit timeout (in Millisekunden):
curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://slow.example.com&render_js=1&timeout=10000"Nützlich beim Scrapen langsam ladender Dashboards, wenn Sie das anzeigen möchten, was nach 10 Sekunden sichtbar ist, statt ein vollständiges Rendering abzuwarten.
JavaScript-Anweisungen
Abschnitt betitelt „JavaScript-Anweisungen“Scrollen, klicken oder beliebige Schritte vor der Erfassung ausführen mit js_instructions (URL-kodiertes JSON). Gängige Muster:
Scrollen, um unendliche Feeds zu laden:
[{"action": "scrollTo", "selector": "footer", "timeout": 5000, "block": "start"}]Eine Schaltfläche vor dem Scrapen klicken:
[{"action": "click", "selector": "button.load-more", "timeout": 3000}]Mehrere Schritte verketten:
[ {"action": "click", "selector": "button.accept-cookies"}, {"action": "scrollTo", "selector": "div.results"}, {"action": "wait", "duration": 2000}]Übergeben Sie das Array als URL-kodierten String in js_instructions.
Screenshots
Abschnitt betitelt „Screenshots“Machen Sie einen Screenshot der gesamten Seite anstelle des DOM, indem Sie screenshot=1 hinzufügen. Die Antwort ist ein binäres PNG. Siehe Erweitert.
Wann Rendering übersprungen werden sollte
Abschnitt betitelt „Wann Rendering übersprungen werden sollte“- Statische HTML-Seiten (Nachrichtenartikel, Blogbeiträge, RSS-artige Inhalte)
- JSON-APIs (direkten Abruf verwenden, nicht den Scraping-Endpunkt)
- Dateien und Binärdaten
Das Überspringen von render_js ist bei der Latenz günstiger, wobei die Credits gleich bleiben.
- Extraktionsregeln, strukturierte Daten aus der gerenderten Seite extrahieren.
- Erweitert, Header, Cookies, Screenshots, POST.