map_site
Senaraikan halaman sesebuah laman melalui jalan termurah dahulu: jika asalnya menyajikan sitemap.xml ia dibaca terus, dan hanya apabila tiada satu yang boleh digunakan barulah alat ini beralih kepada perangkakan. Respons memberitahu anda jalan mana yang diambil.
Kes Penggunaan
Dapatkan senarai URL sebelum mengikis
Senaraikan dahulu, kemudian hantar senarai itu kepada batch_scrape — jauh lebih murah daripada merangkak dengan pengekstrakan dihidupkan.
Semak apa yang laman itu terbitkan kepada enjin carian
Mod sitemap melaporkan tepat apa yang laman itu iklankan, yang selalunya bukan perkara sama dengan apa yang boleh dicapai dengan mengikut pautan.
Cari halaman yatim atau tanpa pautan
Bandingkan senarai sitemap dengan larian crawl_deep: halaman dalam sitemap yang tidak pernah dicapai oleh perangkakan itu tiada pautan masuk.
Ukur saiz laman sebelum melaburkan credits
total_pages memberitahu anda sebesar mana sesuatu kerja itu sebelum anda mula membayar setiap halaman untuk pengekstrakan.
Endpoint
/api/v1/tools/map_siteParameters
max_depth dan include_external hanya terpakai pada perangkakan sandaran. Apabila sitemap.xml yang boleh digunakan dijumpai, kedua-duanya diabaikan kerana tiada perangkakan berlaku.| Name | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Required | - | Mana-mana URL pada laman itu. Asalnya digunakan untuk mencari `/sitemap.xml`, dan ia menjadi titik permulaan jika perangkakan sandaran dijalankan. Example: https://example.com |
max_depth | number | Optional | 2 | Kedalaman perangkakan bagi sandaran, 1-5. Diabaikan apabila sitemap dijumpai. Example: 2 |
include_external | boolean | Optional | false | Sertakan pautan luaran dalam senarai pautan setiap halaman. Mod perangkakan sahaja — halaman luaran dikira tetapi tidak pernah dilawati. Example: false |
timeout | number | Optional | 15000 | Jumlah bajet dalam milisaat, 1000-30000. Dalam praktiknya dihadkan sekitar 18000 untuk muat dengan had pelaksanaan tanpa pelayan. Example: 15000 |
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 |
Dua cara ia memetakan laman
source dalam respons memberitahu anda yang mana berjalan — kedua-dua mod memulangkan kunci yang sama tetapi mengisinya secara berbeza.
{origin}/sitemap.xml, mengikut sehingga 3 sitemap anak, dihadkan kepada 500 URL. Pantas dan lengkap. max_depth_reached dan sitemap kembali null kerana tiada apa-apa dirangkak.sitemap kemudiannya diisi dengan pautan yang ditemui pada setiap halaman.sitemap bukan sebuah sitemap. Dalam mod perangkakan ia memegang peta setiap halaman yang dirangkak kepada pautan yang ditemui padanya; dalam mod sitemap ia null. URL yang disenaraikan sentiasa berada dalam pages./sitemap.xml dengan status 200 akan dikesan dan ditolak, jadi ia jatuh kepada mod perangkakan dan bukannya melaporkan satu halaman palsu.Contoh Permintaan
curl -X POST https://crawlforge.dev/api/v1/tools/map_site \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"max_depth": 2,
"include_external": false,
"timeout": 15000
}'Contoh Respons
{ "success": true, "data": { "base_url": "https://example.com", "source": "sitemap", "total_pages": 128, "internal_links": 128, "external_links": 0, "pages": [ "https://example.com/", "https://example.com/pricing", "https://example.com/docs" ], "max_depth_reached": null, "sitemap": null }, "credits_used": 2, "credits_remaining": 998, "processing_time": 1240}data.sourceSama ada "sitemap" atau "crawl" — strategi mana yang menghasilkan keputusan ini.data.total_pagesBilangan URL dalam tatasusunan pages.data.internal_linksPautan dalaman berbeza yang ditemui. Dalam mod sitemap ia mencerminkan kiraan halaman.data.external_linksPautan luaran berbeza. Sentiasa 0 dalam mod sitemap, kerana tiada badan halaman dibaca.data.pagesURL yang disenaraikan — inilah senarai yang anda mahukan.data.max_depth_reachedAras perangkakan terdalam yang dicapai, atau null dalam mod sitemap yang tidak merangkak apa-apa.data.sitemapMod perangkakan sahaja: setiap halaman yang dirangkak dipetakan kepada pautan yang ditemui padanya. Null dalam mod sitemap.Pengendalian Ralat
Tiada apa-apa dapat dipetakan (422 NO_PAGES_MAPPED)
Tiada sitemap yang boleh digunakan dan URL permulaan tidak memulangkan halaman HTML untuk dirangkak. Lazim apabila URL menunjuk kepada PDF, imej, atau titik akhir API. Tiada credits dicaj.
Sasaran memulangkan ralat (502 TARGET_HTTP_ERROR)
Laman itu membalas dengan status bukan 2xx. Laman di sebalik perlindungan bot lazimnya berakhir di sini — cuba stealth_mode sebaliknya.
URL tidak sah (400 VALIDATION_ERROR)
url cacat, menggunakan skema selain http/https, atau menghala ke alamat peribadi. max_depth mesti 1-5 dan timeout 1000-30000.
Sasaran terlalu perlahan (504 FETCH_TIMEOUT)
Laman itu tidak membalas dalam bajet masa. Naikkan timeout, walaupun ia dihadkan sekitar 18000ms.
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. Hanya URL masukan yang mengembalikan 403: URL yang ditemui semasa penerokaan dan dilarang oleh robots.txt ditinggalkan daripada peta sebaliknya, dan dinamakan dalam warnings.
crawl_deep lalu bandingkan kedua-dua senarai.Kos credits
Pecahan Kos:
Sebarang pemetaan, mod sitemap atau perangkakan: 2 credits
Cadangan Pelan:
Pelan Free: 1,000 credits percubaan sekali sahaja = 500 pemetaan laman
Pelan Hobby: 5,000 credits/bulan = 2,500 pemetaan laman ($19/bulan)
Pelan Professional: 50,000 credits/bulan = 25,000 pemetaan laman ($99/bulan)
Pemetaan ialah cara termurah untuk mengukur saiz kerja — senaraikan dahulu, kemudian belanjakan credits setiap halaman hanya pada URL yang benar-benar anda mahukan.