Regras de extração
Passe JSON codificado em URL para extract_rules para obter uma saída estruturada da página de destino. Cada regra tem um seletor CSS, um tipo de saída opcional e um sinalizador para retornar todas as correspondências. As regras de extração funcionam com ou sem renderização de JavaScript.
Endpoint
Seção intitulada “Endpoint” GET https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=<TARGET_URL>&extract_rules=<URL_ENCODED_JSON>
Parâmetros
Seção intitulada “Parâmetros”| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
api_key | string | sim | Sua chave de API do Web Scraping API |
url | string | sim | URL de destino a ser buscada |
extract_rules | string | sim | JSON codificado em URL descrevendo as regras de extração. |
Objeto de regra
Seção intitulada “Objeto de regra”| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
selector | string | sim | Seletor CSS. |
output | string | não | html (padrão), text, ou @attr para extrair um atributo. |
all | string | não | "1" para retornar todas as correspondências como um array, "0" (padrão) para a primeira correspondência. |
Exemplo de solicitação
Seção intitulada “Exemplo de solicitação”Extraia o título da página como texto:
{"title": {"selector": "h1", "output": "text"}}curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https%3A%2F%2Fexample.com&extract_rules=%7B%22title%22%3A%20%7B%22selector%22%3A%20%22h1%22%2C%20%22output%22%3A%20%22text%22%7D%7D"import jsonimport requests
rules = {"title": {"selector": "h1", "output": "text"}}r = requests.get("https://scrape.shifter.io/v1", params={ "api_key": "YOUR_API_KEY", "url": "https://example.com", "extract_rules": json.dumps(rules),})print(r.json())import fetch from 'node-fetch';
const rules = { title: { selector: 'h1', output: 'text' } };const url = 'https://scrape.shifter.io/v1?' + new URLSearchParams({ api_key: 'YOUR_API_KEY', url: 'https://example.com', extract_rules: JSON.stringify(rules),});const res = await fetch(url);console.log(await res.json());Exemplo de resposta
Seção intitulada “Exemplo de resposta”{ "title": "Example Domain" }