CrawlForge MCP
Alat Berstruktur2 credits

scrape_structured

Ekstrak data berstruktur daripada mana-mana halaman web menggunakan pemilih CSS tersuai. Sesuai untuk scraping produk e-dagang, pengagregatan berita dan apa-apa keperluan pengekstrakan data tersuai.

Kes Penggunaan

Scraping Produk E-Dagang

Ekstrak tajuk produk, harga, penerangan dan imej daripada kedai dalam talian

Pengekstrakan Artikel Berita

Ekstrak tajuk utama, penulis, tarikh dan kandungan daripada tapak berita

Transformasi Data Tersuai

Petakan mana-mana struktur HTML kepada skema JSON yang anda kehendaki

Penyenaraian Hartanah

Ekstrak butiran hartanah, harga dan imej daripada tapak penyenaraian

Endpoint

POST/api/v1/tools/scrape_structured
Auth Required
1 req/s pada pelan Free
2 credits

Parameters

NameTypeRequiredDefaultDescription
url
stringOptional-
Halaman untuk diambil dan diekstrak. Sama ada `url` atau `html` diperlukan.
Example: https://example.com/product
html
stringOptional-
HTML mentah untuk dihurai dan bukannya diambil. Gandingkan dengan `base_url` untuk menyelesaikan nilai atribut relatif.
Example: <html>...</html>
selectors
objectRequired-
Memetakan nama medan anda kepada pemilih CSS. Sekurang-kurangnya satu entri diperlukan — nama medan itu milik anda dan kembali tanpa berubah dalam keputusan.
Example: {"title": "h1.product-title", "price": ".price", "description": ".product-desc"}
base_url
stringOptional-
Asas untuk menyelesaikan URL relatif yang ditemui dalam atribut yang diekstrak.
Example: https://example.com
multiple
booleanOptionalfalse
Apabila true, ekstrak senarai item berulang dan bukannya satu rekod. Ia mengubah bentuk respons — lihat di bawah.
Example: true
clean_text
booleanOptionaltrue
Runtuhkan ruang putih dan pangkas teks yang diekstrak.
Example: true
include_attributes
arrayOptional-
Turut tangkap atribut HTML ini daripada setiap elemen yang sepadan, bukan teksnya sahaja.
Example: ["href", "src", "alt"]
max_items
numberOptional100
Bilangan maksimum item yang dipulangkan apabila `multiple` true, 1-1000.
Example: 100
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

Pemilih CSS:

Gunakan mana-mana sintaks pemilih CSS yang sah. Corak biasa:

  • .className - Pilih mengikut kelas
  • #id - Pilih mengikut ID
  • tag.class - Gabungkan tag dan kelas
  • .parent > .child - Anak langsung
  • [data-id="value"] - Pemilih atribut

Contoh Permintaan

cURL - E-Commerce Product

terminalBash
curl -X POST https://crawlforge.dev/api/v1/tools/scrape_structured \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/product/123",
    "selectors": {
      "title": "h1.product-title",
      "price": ".price-value",
      "currency": ".price-currency",
      "description": ".product-description",
      "image": "img.main-image",
      "rating": ".rating-value",
      "availability": ".stock-status"
    }
  }'

TypeScript - News Article

scrapeStructured.tsTypescript
const response = await fetch('https://crawlforge.dev/api/v1/tools/scrape_structured', {
  method: 'POST',
  headers: {
    'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    url: 'https://example.com/news/article-123',
    selectors: {
      headline: 'h1.article-title',
      author: '.author-name',
      publishDate: 'time.publish-date',
      category: '.category-tag',
      content: '.article-body',
      image: '.article-image img'
    }
  }),
});

const data = await response.json();

if (data.success) {
  const article = data.data;
  console.log(`Article: ${article.headline}`);
  console.log(`By: ${article.author}`);
  console.log(`Published: ${article.publishDate}`);
}

Python - Real Estate Listing

scrape_structured.pyPython
import requests
import os

response = requests.post(
    'https://crawlforge.dev/api/v1/tools/scrape_structured',
    headers={
        'X-API-Key': os.environ['CRAWLFORGE_API_KEY'],
        'Content-Type': 'application/json',
    },
    json={
        'url': 'https://example.com/property/456',
        'selectors': {
            'address': '.property-address',
            'price': '.listing-price',
            'bedrooms': '.bed-count',
            'bathrooms': '.bath-count',
            'sqft': '.square-feet',
            'description': '.property-description',
            'images': '.gallery img'
        }
    }
)

data = response.json()

if data['success']:
    property_data = data['data']
    print(f"Property: {property_data['address']}")
    print(f"Price: {property_data['price']}")
    print(f"Beds: {property_data['bedrooms']}")
    print(f"Baths: {property_data['bathrooms']}")

Contoh Respons

200 OK320ms
{
"success": true,
"data": {
"title": "Premium Wireless Headphones",
"price": "299.99",
"currency": "USD",
"description": "High-quality wireless headphones with active noise cancellation and 30-hour battery life.",
"image": "https://example.com/images/headphones.jpg",
"rating": "4.7",
"availability": "In Stock"
},
"credits_used": 2,
"credits_remaining": 998,
"processing_time": 320
}
Field Descriptions
data.titleDiekstrak daripada pemilih h1.product-title
data.priceDiekstrak daripada pemilih .price-value
data.descriptionDiekstrak daripada pemilih .product-description
credits_usedCredits ditolak untuk permintaan ini (2 setiap scrape)

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

2 credits
2 credits setiap permintaan
Setiap scrape berstruktur berkos 2 credits, tanpa mengira bilangan pemilih.

Petua: Untuk scraping berbilang halaman dengan struktur yang sama, gunakan batch_scrape untuk kecekapan yang lebih baik.

Alat Berkaitan

batch_scrape
Scrape berbilang URL secara serentak (5 credits)
structured_extract
Pengekstrakan berbantukan AI tanpa pemilih (3 credits)
Bersedia untuk mengekstrak data berstruktur? Daftar 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.