Forçando timeouts
Algumas páginas mantêm alguns nós DOM carregando por muito tempo depois que o conteúdo principal já está pronto. Use o parâmetro timeout para limitar o tempo total de renderização. A API retorna o HTML que tiver disponível quando o temporizador for acionado, ou um 422 com um erro explicativo caso nada utilizável tenha sido coletado.
Endpoint
Seção intitulada “Endpoint” GET https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=<TARGET_URL>&render_js=1&timeout=<MILLISECONDS>
Parâmetros
Seção intitulada “Parâmetros”| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
api_key | string | sim | Sua chave da Web Scraping API |
url | string | sim | URL de destino a ser buscada |
timeout | integer | não | Tempo máximo que o mecanismo pode gastar renderizando, em milissegundos. Máximo 60000. |
render_js | integer | não | Defina como 1 para renderizar JavaScript. |
Exemplo de requisição
Seção intitulada “Exemplo de requisição”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());Exemplo de resposta
Seção intitulada “Exemplo de resposta”{ "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}