Langkau ke kandungan
Alat Lanjutan2 credits

extract_content

Ambil halaman, buang bingkainya, dan kembalikan apa yang benar-benar ada padanya. Navigasi, pengepala, pengaki, bar sisi, script, style dan bekas iklan dibuang, kemudian badan artikel dikesan dan dikembalikan sebagai teks bersih atau HTML — berserta tajuk, nama penulis dan tarikh terbit yang diisytiharkan oleh halaman itu.

Kes Penggunaan

Pengingesan RAG

Tukarkan artikel kepada teks bersih sebelum pemotongan dan pembenaman, tanpa menu navigasi mencemari setiap ketulan.

Paparan Pembaca

Paparkan versi halaman yang bebas gangguan, mengekalkan struktur HTML dengan menetapkan clean_html kepada false.

Pengekstrakan Nama Penulis

Kumpulkan pengarang dan tarikh terbit daripada tag meta halaman itu sendiri untuk atribusi atau semakan kesegaran.

Penuaian Imej

Dapatkan setiap imej dalam artikel sebagai URL mutlak, yang sudah diselesaikan terhadap alamat halaman itu sendiri.

Graf Petikan

Dayakan include_links untuk menangkap pautan keluar di dalam badan artikel — bukan yang berada dalam navigasi tapak.

Migrasi Kandungan

Angkat HTML artikel daripada tapak lama dan muatkannya di tempat lain, tanpa membawa templat lama bersamanya.

Endpoint

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

Parameters

NameTypeRequiredDefaultDescription
url
stringRequired-
Halaman untuk diekstrak. Mestilah URL http atau https mutlak yang sah.
Example: https://example.com/blog/crawl-budgets
include_images
booleanOptionaltrue
Kembalikan setiap `<img>` dalam kawasan yang diekstrak sebagai URL mutlak, berserta `image_count`. Sumber yang tidak dapat diselesaikan terhadap URL halaman dilangkau. Tetapkan false dan kedua-dua kunci itu tiada.
Example: true
include_links
booleanOptionalfalse
Kembalikan setiap `<a href>` dalam kawasan yang diekstrak sebagai `{ href, text }` dengan href mutlak, berserta `link_count`. Dimatikan secara lalai — hidupkannya dan kedua-dua kunci itu muncul.
Example: true
clean_html
booleanOptionaltrue
True mengembalikan teks biasa, satu baris bagi setiap elemen blok (tajuk, perenggan, item senarai, baris jadual) dengan ruang dimampatkan dalam setiap baris, dan menetapkan `content_type` kepada `text`. False mengembalikan HTML dalaman kawasan itu dan menetapkan `content_type` kepada `html` — masih dengan elemen templat dibuang.
Example: true
extract_main_content
booleanOptionaltrue
Sempitkan kepada badan artikel, mencuba `<article>`, kemudian `<main>`, kemudian `.content`, kemudian `#content`, dan berundur kepada `<body>` apabila tiada yang sepadan. Tetapkan false untuk mengekalkan keseluruhan body.
Example: true
timeout
numberOptional10000
Had masa pengambilan dalam milisaat, antara 1000 dan 30000.
Example: 10000
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
max_inline_chars
numberOptional40000
Hasil terbesar yang dikembalikan sebaris, dalam aksara JSON-nya (1,000-10,000,000). Melebihinya, respons membawa `preview` (`max_inline_chars` aksara pertama medan teks utama hasil), `result_handle`, `total_chars`, `truncated: true` dan `expires_at`, dan [read_result](/docs/api-reference/tools/read-result) membaca selebihnya dengan 1 credit setiap panggilan. Hasil tersimpan disimpan selama 1 jam.
Example: 40000
redact_pii
boolean | objectOptionalfalse
Buang data peribadi daripada teks yang dikembalikan oleh panggilan ini, sebelum hasilnya disimpan atau dihantar balik. `true` ialah singkatan bagi `{ mode: "fast" }` — keempat-empat kelas regex, bertag. Setiap kali anda meminta penyuntingan, respons membawa `redaction: { entities, count, mode }` di dalam `data`, walaupun tiada apa-apa yang sepadan (`count: 0`), jadi "tiada apa-apa ditemui" tidak pernah disalah anggap sebagai "parameter itu diabaikan"; kelas tanpa padanan ditinggalkan dan bukan dilaporkan sebagai `0`. Penyuntingan berjalan **sebelum** hasil itu disimpan, jadi hasil besar yang dibaca kemudian dengan [read_result](/docs/api-reference/tools/read-result) sudah pun disunting. Dua batas yang disengajakan: alamat (`url`, `link`, `href`, `canonical_url`) tidak pernah disunting, dan kiraan yang diperoleh daripada teks (`content_length`, `word_count`, `character_count`) menggambarkan teks itu sebagaimana ia diekstrak, sebelum penyuntingan.
Example: true

Contoh Permintaan

terminalBash
curl -X POST https://crawlforge.dev/api/v1/tools/extract_content \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/blog/crawl-budgets",
    "include_links": true
  }'

Contoh Respons

200 OK680ms
{
"success": true,
"data": {
"url": "https://example.com/blog/crawl-budgets",
"content": "Why crawl budgets matter\nSearch engines allocate a finite number of requests to each site. See the sitemap guide for the mechanics.",
"content_length": 131,
"content_type": "text",
"title": "Why crawl budgets matter — Acme Blog",
"author": "Dana Reyes",
"publish_date": "2026-08-14T09:30:00Z",
"images": [
"https://example.com/img/crawl-budget.png"
],
"image_count": 1,
"links": [
{
"href": "https://example.com/docs/sitemaps",
"text": "sitemap guide"
}
],
"link_count": 1
},
"credits_used": 2,
"credits_remaining": 998,
"processing_time": 680
}
Field Descriptions
data.contentKawasan yang diekstrak. Teks biasa, satu baris bagi setiap elemen blok, atau HTML dalaman apabila `clean_html` ialah false
data.content_lengthKiraan aksara `content` — nombor yang rendah biasanya bermakna halaman itu dipaparkan pada klien
data.content_type`text` atau `html`, mencerminkan `clean_html`
data.titleElemen `<title>` bagi keseluruhan halaman, bukan tajuk di dalam artikel
data.authorDaripada tag `meta[name=author]` halaman itu. `null` apabila halaman tidak mengisytiharkannya
data.publish_dateDaripada `meta[property=article:published_time]`, dikembalikan sebagaimana adanya. `null` apabila tiada
data.imagesURL mutlak, diselesaikan terhadap alamat halaman. Hadir apabila `include_images` ialah true
data.linksPautan di dalam kawasan yang diekstrak sahaja. Hadir apabila `include_links` ialah true
credits_used2 credits tetap setiap halaman

Pengendalian Ralat

URL Tidak Sah (400 Bad Request)

VALIDATION_ERROR. url diperlukan dan mesti dihurai sebagai URL mutlak. Status yang sama meliputi timeout di luar 1000-30000.

Halaman Terlalu Besar (413 Payload Too Large)

RESPONSE_TOO_LARGE. Halaman melebihi had bacaan 25MB dan ditolak dan bukannya ditimbal.

Sasaran Tamat Masa (504 Gateway Timeout)

FETCH_TIMEOUT. Halaman berhenti bertindak balas semasa menghantar badannya. Naikkan timeout, sehingga 30000ms.

Pengambilan Gagal (502 Bad Gateway)

FETCH_FAILED. Badan respons tidak dapat dibaca — sambungan ditetapkan semula, atau badan yang bukan teks boleh nyahkod.

Pengekstrakan Gagal (500 Internal Server Error)

TOOL_ERROR. Panggilan yang gagal tidak dicaj; credits hanya ditolak selepas pengekstrakan berjaya.

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 halaman
Kadar rata tanpa mengira saiz halaman atau pilihan yang anda dayakan. Panggilan yang gagal tidak dicaj.

Apa yang Disertakan:

Pembuangan elemen templat (nav, header, footer, aside, iklan, script, style)

Pengesanan kandungan utama dengan <body> sebagai sandaran

Teks bersih atau HTML artikel

Tajuk, pengarang dan tarikh terbit daripada meta halaman

URL imej dan pautan mutlak dari dalam artikel

Cadangan Pelan:

Free Plan: 1,000 credits percubaan sekali sahaja = 500 halaman

Hobby Plan: 5,000 credits = 2,500 halaman ($19/mo)

Professional Plan: 100,000 credits = 50,000 halaman ($99/mo)

Alat Berkaitan