Règles d'extraction
Transmettez du JSON encodé en URL à extract_rules pour obtenir une sortie structurée à partir de la page cible. Chaque règle possède un sélecteur CSS, un type de sortie facultatif, et un indicateur permettant de retourner toutes les correspondances. Les règles d’extraction fonctionnent avec ou sans rendu JavaScript.
Endpoint
Section intitulée « Endpoint » GET https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=<TARGET_URL>&extract_rules=<URL_ENCODED_JSON>
Paramètres
Section intitulée « Paramètres »| Paramètre | Type | Requis | Description |
|---|---|---|---|
api_key | string | oui | Votre clé API Web Scraping |
url | string | oui | URL cible à récupérer |
extract_rules | string | oui | JSON encodé en URL décrivant les règles d’extraction. |
Objet règle
Section intitulée « Objet règle »| Champ | Type | Requis | Description |
|---|---|---|---|
selector | string | oui | Sélecteur CSS. |
output | string | non | html (par défaut), text, ou @attr pour extraire un attribut. |
all | string | non | "1" pour retourner toutes les correspondances sous forme de tableau, "0" (par défaut) pour la première correspondance. |
Exemple de requête
Section intitulée « Exemple de requête »Extraire le titre de la page sous forme de texte :
{"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());Exemple de réponse
Section intitulée « Exemple de réponse »{ "title": "Example Domain" }