Timeouts erzwingen
Manche Seiten laden einige DOM-Knoten weiter, lange nachdem der Hauptinhalt bereit ist. Verwenden Sie den Parameter timeout, um die gesamte Renderzeit zu begrenzen. Die API gibt das HTML zurück, das zum Zeitpunkt des Timers vorliegt, oder einen 422 mit einer erklärenden Fehlermeldung, wenn nichts Brauchbares gesammelt wurde.
Endpunkt
Abschnitt betitelt „Endpunkt“ GET https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=<TARGET_URL>&render_js=1&timeout=<MILLISECONDS>
Parameter
Abschnitt betitelt „Parameter“| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
api_key | string | ja | Ihr Web Scraping API-Schlüssel |
url | string | ja | Ziel-URL, die abgerufen werden soll |
timeout | integer | nein | Maximale Zeit, die die Engine für das Rendern aufwenden darf, in Millisekunden. Max 60000. |
render_js | integer | nein | Auf 1 setzen, um JavaScript zu rendern. |
Beispielanfrage
Abschnitt betitelt „Beispielanfrage“curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https%3A%2F%2Fhttpbin.org%2Fget&render_js=1&timeout=200"import requests
r = requests.get("https://scrape.shifter.io/v1", params={ "api_key": "YOUR_API_KEY", "url": "https://httpbin.org/get", "render_js": 1, "timeout": 200,})print(r.json())import fetch from 'node-fetch';
const url = 'https://scrape.shifter.io/v1?' + new URLSearchParams({ api_key: 'YOUR_API_KEY', url: 'https://httpbin.org/get', render_js: '1', timeout: '200',});const res = await fetch(url);console.log(await res.json());Beispielantwort
Abschnitt betitelt „Beispielantwort“{ "status": "Failure", "status_code": 422, "created_at": "2022-04-26T11:57:23.242Z", "processed_at": "2022-04-26T11:57:23.739Z", "time_taken": { "total": 0.701, "scraping": 0.202, "setup_worker": 0.403 }, "error": "The target page took more than 0.2 seconds to load, the website might be down. Retry the request or increase the value of 'timeout' parameter.", "page_content": null}