CrawlForge MCP
Alat AI3 credits

extract_structured

Berikan pengekstrak satu JSON Schema dan gesaan bahasa semula jadi. LLM membaca halaman dan mengembalikan data yang sepadan dengan skema anda. Apabila tiada penyedia LLM dikonfigurasi, ia beralih ke pengekstrakan pemilih CSS menggunakan petunjuk anda.

Kes Penggunaan

Pengekstrakan Produk Skema-Dahulu

Takrifkan medan yang anda mahu sekali; LLM memetakan mana-mana tapak e-dagang ke skema anda.

Penghuraian Resume & Dokumen

Ekstrak nama calon, kemahiran dan sejarah kerja terus ke dalam objek bertaip.

Penyemaian Graf Pengetahuan

Ekstrak entiti dan perhubungan daripada artikel ke dalam JSON berstruktur untuk pemuat graf.

Endpoint

POST/api/v1/tools/extract_structured
Auth Required
1 req/s pada pelan Free
3 credits

Parameters

LLM lwn. sandaran pemilih: Berikan llmConfig untuk menggunakan pengekstrakan dikuasakan LLM. Tanpanya, alat menggunakan selectorHints untuk pengekstrakan CSS berketentuan — lebih murah dan tiada kunci LLM diperlukan.
NameTypeRequiredDefaultDescription
url
stringRequired-
URL untuk mengekstrak data
Example: https://example.com/product/123
schema
objectRequired-
JSON Schema yang menerangkan data untuk diekstrak
Example: {"type":"object","properties":{"title":{"type":"string"},"price":{"type":"number"}},"required":["title"]}
prompt
stringOptional-
Arahan bahasa semula jadi yang membimbing pengekstrakan LLM
Example: Extract the product name, current price, and whether it is in stock
llmConfig
objectOptional-
Konfigurasi penyedia LLM pilihan (provider, apiKey). Tinggalkan untuk menggunakan sandaran pemilih CSS.
Example: {"provider": "openai", "apiKey": "sk-..."}
selectorHints
objectOptional-
Petunjuk pemilih CSS untuk membimbing pengekstrakan (juga digunakan oleh sandaran pemilih)
Example: {"title": "h1.product-title", "price": ".price"}
fallbackToSelectors
booleanOptionaltrue
Beralih ke pengekstrakan pemilih CSS apabila LLM tidak tersedia
Example: true
respect_robots
booleanOptionaltrue
Hormati robots.txt tapak sasaran. Dibiarkan pada `true`, laluan yang dilarang untuk `CrawlForge` ditolak dengan 403 sebelum apa-apa diambil dan tiada credits dicaj. Tetapkan kepada `false` hanya untuk sasaran yang anda mempunyai perjanjian sendiri dengannya — respons kemudiannya membawa entri `warnings` dan tindakan mengatasi itu direkodkan pada API key anda.
Example: true

Contoh Permintaan

cURL — LLM extraction

terminalBash
curl -X POST https://crawlforge.dev/api/v1/tools/extract_structured \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/product/123",
    "schema": {
      "type": "object",
      "properties": {
        "title": { "type": "string" },
        "price": { "type": "number" },
        "in_stock": { "type": "boolean" }
      },
      "required": ["title", "price"]
    },
    "prompt": "Extract the product name, price in USD, and availability",
    "llmConfig": { "provider": "openai", "apiKey": "sk-..." }
  }'

TypeScript — selector fallback

extractStructured.tsTypescript
const response = await fetch('https://crawlforge.dev/api/v1/tools/extract_structured', {
  method: 'POST',
  headers: {
    'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    url: 'https://example.com/product/123',
    schema: {
      type: 'object',
      properties: {
        title: { type: 'string' },
        price: { type: 'number' },
      },
      required: ['title'],
    },
    selectorHints: {
      title: 'h1.product-title',
      price: '.price-value',
    },
    fallbackToSelectors: true,
  }),
});

const data = await response.json();
if (data.success) {
  console.log(data.data.extracted.title, data.data.extracted.price);
}

Python

extract_structured.pyPython
import requests, os

response = requests.post(
    'https://crawlforge.dev/api/v1/tools/extract_structured',
    headers={
        'X-API-Key': os.environ['CRAWLFORGE_API_KEY'],
        'Content-Type': 'application/json',
    },
    json={
        'url': 'https://example.com/article/42',
        'schema': {
            'type': 'object',
            'properties': {
                'headline': {'type': 'string'},
                'author': {'type': 'string'},
                'published_at': {'type': 'string'},
                'tags': {'type': 'array'},
            },
            'required': ['headline'],
        },
        'prompt': 'Extract headline, author, publish date (ISO 8601), and tags',
    },
)

data = response.json()
if data['success']:
    print(data['data']['extracted'])

Contoh Respons

200 OK1.2s
{
"success": true,
"data": {
"url": "https://example.com/product/123",
"data": {
"title": "Premium Wireless Headphones",
"price": 299.99,
"in_stock": true
},
"extraction": {
"method_by_field": {
"title": "selector",
"price": "json-ld",
"in_stock": "meta"
},
"llm_used": false,
"note": "Selector/structured-data extraction; LLM-guided extraction is available via the CrawlForge MCP server"
},
"extracted_at": "2026-08-26T14:30:00.000Z"
},
"credits_used": 3,
"credits_remaining": 997,
"processing_time": 1240
}
Field Descriptions
data.dataSatu kunci bagi setiap sifat dalam skema anda, ditukar kepada jenis yang diisytiharkan. Medan yang tidak dijumpai ialah null.
data.extraction.method_by_fieldBagaimana setiap medan diperoleh: `selector` daripada entri selectorHints, `json-ld` daripada data berstruktur, `meta` daripada tag meta, atau `none` apabila tiada yang sepadan.
data.extraction.llm_usedSentiasa false pada API REST terhos — pengekstrakan berasaskan pemilih dan data berstruktur, tidak pernah generatif.
data.extraction.noteMenyatakan semula di mana pengekstrakan berpandukan LLM tersedia.
data.extracted_atCap masa ISO 8601 bagi pengekstrakan.

Pengendalian Ralat

Disekat oleh robots.txt (403 Forbidden)

robots.txt tapak sasaran melarang laluan ini untuk CrawlForge. Tetapkan respect_robots: false untuk mengatasinya jika anda mempunyai perjanjian sendiri dengan sasaran — tindakan mengatasi itu direkodkan pada API key anda. Tindakan mengatasi itu tidak sampai kepada hos yang berada dalam senarai penarikan diri kekal CrawlForge, yang ditolak tanpa mengira nilai respect_robots.

Kos Credit

3 credits
3 credits setiap permintaan
3 credits rata sama ada panggilan menggunakan LLM atau sandaran pemilih.

Tip: Gandingkan dengan scrape_structured (2 credits, CSS sahaja) apabila anda sudah mempunyai pemilih yang stabil dan tidak memerlukan fleksibiliti LLM.

Alat Berkaitan

scrape_structured
Pengekstrakan pemilih CSS (2 credits)
analyze_content
Analisis sentimen, entiti dan topik (3 credits)
Bersedia untuk mengekstrak data berstruktur bertaip? Daftar secara percuma dan dapatkan 1,000 credits.

Footer

CrawlForge MCP

Web scraping gred perusahaan untuk Ejen AI. 29 alat MCP khusus yang direka untuk pembangun moden yang membina sistem pintar.

Produk

  • Ciri
  • Playground
  • Harga
  • Kes Penggunaan
  • Integrasi
  • Alternatif
  • Changelog

Sumber

  • Mula Bekerja
  • Rujukan API
  • Templat
  • Panduan
  • Blog
  • Glosari
  • Soalan Lazim
  • Peta Laman

Pembangun

  • Protokol MCP
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Syarikat

  • Tentang
  • Hubungi
  • Privasi
  • Terma
  • Penggunaan Boleh Diterima
  • Cookies

Kekal dikemas kini

Dapatkan kemas kini terkini tentang alat dan ciri baharu.

Dibina dengan Next.js dan protokol MCP

© 2025-2026 CrawlForge. Hak cipta terpelihara.