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.
Endpoint
Abschnitt betitelt „Endpoint“ GET https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=<TARGET_URL>&render_js=1&timeout=<MILLISECONDS>
Parameters
Abschnitt betitelt „Parameters“| Parameter | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Ihr Web Scraping API-Schlüssel |
url | string | yes | Ziel-URL, die abgerufen werden soll |
timeout | integer | no | Maximale Zeit, die die Engine für das Rendern aufwenden darf, in Millisekunden. Max 60000. |
render_js | integer | no | Auf 1 setzen, um JavaScript zu rendern. |
Example request
Abschnitt betitelt „Example request“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());Example response
Abschnitt betitelt „Example response“{ "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}