extract_links
Temui dan ekstrak semua pautan daripada halaman web. Sesuai untuk penjanaan peta tapak, analisis pautan dan aliran kerja perangkakan.
Kes Penggunaan
Penjanaan Peta Tapak
Bina peta tapak menyeluruh dengan mengekstrak semua pautan dalaman
Penemuan Pautan untuk Perangkakan
Cari semua URL untuk dilawati dalam aliran kerja perangkakan web
Analisis Pautan Dalaman
Analisis struktur pautan dalaman untuk pengoptimuman SEO
Pengesanan Pautan Rosak
Cari dan sahkan semua pautan pada halaman
Endpoint
/api/v1/tools/extract_linksParameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Optional | - | Halaman untuk diambil dan diekstrak pautannya. Sama ada `url` atau `html` diperlukan. Example: https://example.com |
html | string | Optional | - | HTML mentah untuk dihurai dan bukannya diambil. Gandingkannya dengan `base_url` supaya href relatif dapat diselesaikan. Example: <a href='/about'>About</a> |
base_url | string | Optional | - | Asas untuk menyelesaikan pautan relatif. Lalai kepada `url` semasa mengambil; sertakannya apabila menghantar `html`. Example: https://example.com |
include_internal | boolean | Optional | true | Sertakan pautan yang menunjuk ke hos yang sama. Example: true |
include_external | boolean | Optional | true | Sertakan pautan yang menunjuk ke hos lain. Tetapkan false untuk mengekalkan pautan dalaman sahaja. Example: true |
filter_domains | array | Optional | - | Kekalkan hanya pautan yang hosnya sepadan dengan salah satu domain ini. Example: ["docs.example.com"] |
include_anchors | boolean | Optional | false | Sertakan pautan serpihan semata-mata seperti `#section`. Example: false |
deduplicate | boolean | Optional | true | Gabungkan URL berulang menjadi satu entri. Example: true |
include_metadata | boolean | Optional | true | Sertakan teks sauh dan atribut setiap pautan bersama URLnya. Example: true |
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 - Extract All Links
curl -X POST https://crawlforge.dev/api/v1/tools/extract_links \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"include_internal": true,
"include_external": false,
"deduplicate": true
}'TypeScript - Internal Links Only
const response = await fetch('https://crawlforge.dev/api/v1/tools/extract_links', {
method: 'POST',
headers: {
'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com',
// Internal-only: keep include_internal, switch include_external off.
include_internal: true,
include_external: false,
deduplicate: true,
}),
});
const payload = await response.json();
if (!response.ok) {
throw new Error(payload.error.code + ': ' + payload.error.message);
}
const result = payload.data;
console.log('Base URL:', result.base_url);
console.log('Extracted from:', result.extracted_from);
for (const link of result.links) console.log(link);
// Narrow to specific hosts instead of a blanket internal/external split.
const docsOnly = await fetch('https://crawlforge.dev/api/v1/tools/extract_links', {
method: 'POST',
headers: {
'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com',
filter_domains: ['docs.example.com'],
}),
});Contoh Respons
{ "success": true, "data": { "url": "https://example.com", "links": [ { "text": "Home", "url": "https://example.com/", "internal": true }, { "text": "About", "url": "https://example.com/about", "internal": true }, { "text": "Products", "url": "https://example.com/products", "internal": true }, { "text": "External Resource", "url": "https://other-site.com", "internal": false } ], "total_links": 4, "internal_links": 3, "external_links": 1 }, "credits_used": 1, "credits_remaining": 999, "processing_time": 210}data.linksTatasusunan semua pautan yang ditemui dengan teks dan URLdata.total_linksJumlah keseluruhan pautan yang ditemuidata.internal_linksBilangan pautan ke domain yang samadata.external_linksBilangan pautan ke domain luaranPengendalian 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.