JSON-Modus
Strukturierte Daten aus Webseiten mit LLMs extrahieren – inklusive JSON-Schema-Validierung.
Einführung
Der JSON-Modus ermöglicht es Ihnen, mit großen Sprachmodellen (LLMs) strukturierte Daten von beliebigen Webseiten zu extrahieren.
AnyCrawl erlaubt die Definition eines JSON-Schemas und von Prompts zur Steuerung der Extraktion, sodass die Ausgabe Ihrem gewünschten Format entspricht.
Nutzungsbeispiele
Der JSON-Modus unterstützt drei Modi für strukturierte Extraktion:
- Nur Prompt: Natürlichsprachlicher Prompt beschreibt, was extrahiert werden soll. Das LLM bestimmt die Ausgabestruktur.
- Nur Schema: JSON-Schema definiert die Ausgabe strikt. Das LLM füllt die Inhalte.
- Prompt + Schema: Kombination aus Schema und Prompt für präzise Struktur- und Inhaltssteuerung.
Tipp: Setzen Sie extract_source, um zu steuern, ob die strukturierte Extraktion aus generiertem markdown oder aus dem Original-html liest. Standard ist markdown; verwenden Sie html, wenn Markdown wichtige Struktur verliert.
Wichtig: Bei json_options muss "json" in formats enthalten sein, sonst enthält die Antwort keine extrahierten JSON-Daten.
1. Nur Prompt (flexible Struktur)
Schritte:
- Ziel-URL der Webseite setzen
- Prompt formulieren, der die zu extrahierenden Informationen beschreibt
- Anfrage senden
curl -X POST "https://api.anycrawl.dev/v1/scrape" \
-H "Authorization: Bearer <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"formats": ["json"],
"json_options": {
"user_prompt": "Extract the company mission, open source status, and employee count."
}
}'2. Nur Schema (strikte Struktur)
Schritte:
- Ziel-URL der Webseite setzen
- JSON-Schema für gewünschte Felder und Typen definieren
- Anfrage senden
curl -X POST "https://api.anycrawl.dev/v1/scrape" \
-H "Authorization: Bearer <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"formats": ["json"],
"json_options": {
"schema": {
"type": "object",
"properties": {
"company_mission": { "type": "string" },
"is_open_source": { "type": "boolean" },
"employee_count": { "type": "number" }
},
"required": ["company_mission"]
}
}
}'3. Prompt + Schema (geführte Struktur und Inhalte)
Schritte:
- Ziel-URL der Webseite setzen
- JSON-Schema für die Ausgabestruktur definieren
- Prompt zur Steuerung der Extraktion formulieren
- Anfrage senden
curl -X POST "https://api.anycrawl.dev/v1/scrape" \
-H "Authorization: Bearer <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"formats": ["json"],
"json_options": {
"schema": {
"type": "object",
"properties": {
"company_mission": { "type": "string" },
"is_open_source": { "type": "boolean" },
"employee_count": { "type": "number" }
},
"required": ["company_mission"]
},
"user_prompt": "Extract the company mission (string), open source status (boolean), and employee count (number)."
}
}'JSON-Options-Objekt
Der Parameter json_options ist ein Objekt mit folgenden Feldern:
schema: Schema für die Extraktion.user_prompt: Benutzer-Prompt für die Extraktion.schema_name: Optionaler Name der zu erzeugenden Ausgabe.schema_description: Optionale Beschreibung der zu erzeugenden Ausgabe.
JSON-Schema
Das Schema für die Extraktion. Typische Felder:
type: Werttyp, unterstützte Typen siehe unten.properties: (fürobject) Objekt mit Feldern und deren Schemas.required: (fürobject) Array erforderlicher Feldnamen.
Unterstützte Typen
| Typ | Beschreibung | Beispiel |
|---|---|---|
string | Textdaten | Firmenname, Beschreibungen, Titel |
number | Zahlenwerte | Preise, Mengen, Bewertungen |
boolean | Wahr-/Falsch-Werte | Verfügbarkeitsflags, Feature-Indikatoren |
object | Verschachtelte Strukturen | Adressen, Produktspezifikationen |
array | Listen von Werten/Objekten | Tags, Kategorien, Feature-Listen |
Schema-Beispiel
{
"type": "object",
"properties": {
"company_name": {
"type": "string"
},
"is_open_source": {
"type": "object",
"properties": {
"answer": {
"type": "string"
},
"value": {
"type": "boolean"
}
}
},
"employee_count": {
"type": "number"
}
},
"required": ["company_name"]
}Verwandte Dokumentation
- Scrape-API – Basis-Scraping mit JSON-Extraktion
- Crawl-API – Crawling mit JSON-Optionen
- Template-System – Erweiterte Extraktions-Templates