Extraktionsregeln
Übergeben Sie URL-codiertes JSON an extract_rules, um strukturierte Ausgaben von der Zielseite zu erhalten. Jede Regel besitzt einen CSS-Selektor, einen optionalen Ausgabetyp und ein Flag, um alle Treffer zurückzugeben. Extraktionsregeln funktionieren mit oder ohne JavaScript-Rendering.
Endpoint
Abschnitt betitelt „Endpoint“ GET https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=<TARGET_URL>&extract_rules=<URL_ENCODED_JSON>
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 |
extract_rules | string | ja | URL-codiertes JSON, das die Extraktionsregeln beschreibt. |
Regel-Objekt
Abschnitt betitelt „Regel-Objekt“| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
selector | string | ja | CSS-Selektor. |
output | string | nein | html (Standard), text, oder @attr, um ein Attribut auszulesen. |
all | string | nein | "1", um alle Treffer als Array zurückzugeben, "0" (Standard) für den ersten Treffer. |
Beispielanfrage
Abschnitt betitelt „Beispielanfrage“Extrahieren Sie den Seitentitel als Text:
{"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());Beispielantwort
Abschnitt betitelt „Beispielantwort“{ "title": "Example Domain" }