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
/api/v1/tools/extract_contentParameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Required | - | Halaman untuk diekstrak. Mestilah URL http atau https mutlak yang sah. Example: https://example.com/blog/crawl-budgets |
include_images | boolean | Optional | true | 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 | boolean | Optional | false | 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 | boolean | Optional | true | True mengembalikan teks biasa yang dimampatkan 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 | boolean | Optional | true | 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 | number | Optional | 10000 | Had masa pengambilan dalam milisaat, antara 1000 dan 30000. Example: 10000 |
respect_robots | boolean | Optional | true | 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 -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
{ "success": true, "data": { "url": "https://example.com/blog/crawl-budgets", "content": "Why crawl budgets matter Search 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}data.contentKawasan yang diekstrak. Teks biasa dengan ruang berturut dimampatkan, atau HTML dalaman apabila `clean_html` ialah falsedata.content_lengthKiraan aksara `content` — nombor yang rendah biasanya bermakna halaman itu dipaparkan pada kliendata.content_type`text` atau `html`, mencerminkan `clean_html`data.titleElemen `<title>` bagi keseluruhan halaman, bukan tajuk di dalam artikeldata.authorDaripada tag `meta[name=author]` halaman itu. `null` apabila halaman tidak mengisytiharkannyadata.publish_dateDaripada `meta[property=article:published_time]`, dikembalikan sebagaimana adanya. `null` apabila tiadadata.imagesURL mutlak, diselesaikan terhadap alamat halaman. Hadir apabila `include_images` ialah truedata.linksPautan di dalam kawasan yang diekstrak sahaja. Hadir apabila `include_links` ialah truecredits_used2 credits tetap setiap halamanPengendalian 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.
content yang pendek dan bukannya ralat. Jika content_length kembali menghampiri sifar pada halaman yang anda boleh lihat dalam pelayar, gunakan scrape_with_actions sebaliknya.Kos Credit
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: 50,000 credits = 25,000 halaman ($99/mo)