Langkau ke kandungan
Perangkakan2 credits

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

POST/api/v1/tools/map_site
Auth Required
1 permintaan/s pada pelan Free
2 credits

Parameters

NameTypeRequiredDefaultDescription
url
stringRequired-
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
numberOptional2
Kedalaman perangkakan bagi sandaran, 1-5. Diabaikan apabila sitemap dijumpai.
Example: 2
include_external
booleanOptionalfalse
Sertakan pautan luaran dalam senarai pautan setiap halaman. Mod perangkakan sahaja — halaman luaran dikira tetapi tidak pernah dilawati.
Example: false
timeout
numberOptional15000
Jumlah bajet dalam milisaat, 1000-30000. Dalam praktiknya dihadkan sekitar 18000 untuk muat dengan had pelaksanaan tanpa pelayan.
Example: 15000
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 JSON yang diformat), `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

Dua cara ia memetakan laman

source dalam respons memberitahu anda yang mana berjalan — kedua-dua mod memulangkan kunci yang sama tetapi mengisinya secara berbeza.

source: "sitemap"
Dibaca dari {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.
source: "crawl"
Digunakan apabila tiada sitemap yang boleh digunakan. Perangkakan melebar dahulu yang terbatas sehingga 30 halaman dalam bajet masa. sitemap kemudiannya diisi dengan pautan yang ditemui pada setiap halaman.

Contoh Permintaan

terminalBash
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

200 OK1,240ms
{
"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
}
Field Descriptions
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.

Kos credits

2 credits
2 credits setiap permintaan
Rata 2 credits sama ada peta itu datang daripada sitemap 500 URL atau perangkakan 30 halaman. Panggilan gagal, termasuk 422 apabila tiada apa-apa dapat dipetakan, tidak dicaj.

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: 100,000 credits/bulan = 50,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.

Alat Berkaitan