Pada halaman ini
Model Context Protocol (MCP) telah mengubah secara asas cara pembantu AI berinteraksi dengan web. Panduan menyeluruh ini meliputi segala yang pembangun perlu tahu tentang MCP web scraping - daripada konsep asas hingga teknik lanjutan.
Bahagian 1: Memahami MCP
Apakah Model Context Protocol?
MCP (Model Context Protocol) ialah standard terbuka yang dibangunkan oleh Anthropic yang membolehkan pembantu AI seperti Claude menyambung ke tools dan sumber data luaran. Anggap ia sebagai penyesuai universal yang membolehkan model AI menggunakan tools khusus.
┌─────────────┐ ┌───────────────┐ ┌──────────────┐
│ Claude │ ←──→ │ MCP Server │ ←──→ │ External │
│ (AI Model) │ │ (CrawlForge) │ │ Resources │
└─────────────┘ └───────────────┘ └──────────────┘
↑
MCP Protocol
(JSON-RPC over stdio)
Mengapa MCP Penting untuk Web Scraping
Sebelum MCP, pembantu AI tidak boleh mengakses data web dengan boleh dipercayai:
| Pendekatan | Masalah |
|---|---|
| Data latihan | Lapuk, had pengetahuan |
| RAG (Pengambilan) | Terhad kepada dokumen terindeks |
| Function calling | Memerlukan pelaksanaan tersuai |
| Pemalam pelayar | Tidak konsisten, kebimbangan keselamatan |
MCP menyelesaikan ini dengan menyediakan:
- Antara muka diseragamkan - Satu protokol untuk semua tools
- Data masa nyata - Maklumat terkini daripada mana-mana sumber
- Kebolehgubahan tool - Gabungkan pelbagai tools dengan lancar
- Model keselamatan - Akses terkawal kepada sumber luaran
Bagaimana MCP Berfungsi
MCP menggunakan seni bina klien-server dengan JSON-RPC:
1. Penemuan Server
{
"mcpServers": {
"crawlforge": {
"command": "npx",
"args": ["crawlforge-mcp-server"]
}
}
}2. Pendaftaran Tool
{
"tools": [
{
"name": "fetch_url",
"description": "Fetch content from a URL",
"inputSchema": {
"type": "object",
"properties": {
"url": { "type": "string", "format": "uri" }
},
"required": ["url"]
}
}
]
}3. Pemanggilan Tool
{
"method": "tools/call",
"params": {
"name": "fetch_url",
"arguments": {
"url": "https://example.com"
}
}
}4. Respons
{
"result": {
"content": "<html>...",
"status": 200,
"headers": {...}
}
}Bahagian 2: Ekosistem MCP Web Scraping
MCP Scraping Servers
Beberapa MCP server menyediakan keupayaan web scraping:
| Server | Tools | Fokus |
|---|---|---|
| CrawlForge | 20 | Scraping menyeluruh, penyelidikan, stealth |
| Firecrawl | ~5 | Scraping dan crawling asas |
| Browser MCP | ~3 | Automasi pelayar |
| Fetch MCP | 1 | Permintaan HTTP ringkas |
Mengapa CrawlForge Mendahului
CrawlForge dibina khusus untuk MCP dengan liputan tool yang paling luas:
CrawlForge: ████████████████████ 26 tools
Firecrawl: █████ 5 tools
Browser: ███ 3 tools
Fetch: █ 1 tool
Bahagian 3: 26 Tools CrawlForge Dijelaskan
Scraping Asas (1-2 credits)
1. fetch_url (1 credit)
Asas web scraping - mengambil HTML mentah daripada mana-mana URL.
// Usage:
"Fetch https://example.com"
// Returns:
{
"html": "<html>...",
"status": 200,
"headers": {...},
"timing": { "total": 523 }
}Bila hendak guna: Titik permulaan untuk mana-mana tugas scraping. Sentiasa cuba ini dahulu.
2. extract_text (1 credit)
Mengekstrak kandungan teks bersih, mengeluarkan teg HTML, skrip, dan gaya.
// Usage:
"Extract text from https://example.com/article"
// Returns:
{
"text": "Article headline\n\nFirst paragraph...",
"wordCount": 1247,
"readingTime": 5
}Bila hendak guna: Catatan blog, artikel, dokumentasi yang anda perlukan teks boleh baca.
3. extract_links (1 credit)
Menemui semua pautan pada halaman dengan penapisan pilihan.
// Usage:
"Extract all links from https://example.com"
// With filtering:
{
"url": "https://example.com",
"filter_external": true // Internal links only
}
// Returns:
{
"links": [
{ "href": "/about", "text": "About Us" },
{ "href": "/products", "text": "Products" }
],
"total": 45
}Bila hendak guna: Penerokaan laman, mencari halaman untuk di-scrape, membina peta laman.
4. extract_metadata (1 credit)
Menarik metadata SEO: tajuk, penerangan, Open Graph, JSON-LD.
// Usage:
"Get metadata from https://example.com"
// Returns:
{
"title": "Example Site - Homepage",
"description": "Welcome to Example...",
"openGraph": {
"title": "Example Site",
"image": "https://example.com/og.png"
},
"jsonLd": [...]
}Bila hendak guna: Analisis SEO, pratonton kandungan, pengekstrakan data berstruktur.
Pengekstrakan Berstruktur (2-3 credits)
5. scrape_structured (2 credits)
Mengekstrak data tertentu menggunakan pemilih CSS.
// Usage:
{
"url": "https://example.com/products",
"selectors": {
"title": "h1.product-title",
"price": "span.price",
"description": ".product-description"
}
}
// Returns:
{
"data": {
"title": "Product Name",
"price": "$99.99",
"description": "Product description..."
}
}Bila hendak guna: Scraping e-dagang, data berstruktur, susun atur halaman yang diketahui.
6. extract_content (2 credits)
Pengekstrakan artikel pintar (seperti Readability).
// Usage:
"Extract the main content from https://blog.example.com/post"
// Returns:
{
"title": "Blog Post Title",
"author": "John Smith",
"publishedDate": "2026-01-15",
"content": "Clean article text...",
"images": ["..."],
"readingTime": 7
}Bila hendak guna: Artikel berita, catatan blog, kandungan editorial.
7. map_site (2 credits)
Menemui struktur laman dan menjana peta laman.
// Usage:
{
"url": "https://example.com",
"max_urls": 1000,
"include_sitemap": true
}
// Returns:
{
"pages": [
{ "url": "/", "title": "Home", "depth": 0 },
{ "url": "/about", "title": "About", "depth": 1 },
...
],
"structure": {
"/": ["/about", "/products", "/blog"],
"/products": ["/products/1", "/products/2"]
}
}Bila hendak guna: Audit laman, perancangan crawl, penemuan kandungan.
8. analyze_content (3 credits)
Analisis NLP: bahasa, sentimen, topik, entiti.
// Usage:
"Analyze this content: [text]"
// Returns:
{
"language": "en",
"sentiment": { "score": 0.7, "label": "positive" },
"topics": ["technology", "AI", "automation"],
"entities": [
{ "text": "OpenAI", "type": "organization" },
{ "text": "GPT-4", "type": "product" }
],
"readability": { "grade": 12, "score": 45 }
}Bila hendak guna: Analisis kandungan, penjejakan sentimen, pengekstrakan topik.
Scraping Lanjutan (4-5 credits)
9. process_document (2 credits)
Mengendalikan PDF dan dokumen.
// Usage:
{
"source": "https://example.com/report.pdf",
"sourceType": "pdf_url"
}
// Returns:
{
"text": "Extracted PDF text...",
"pages": 15,
"metadata": {
"author": "...",
"created": "..."
}
}Bila hendak guna: Kertas penyelidikan, laporan, PDF dokumentasi.
10. summarize_content (4 credits)
Peringkasan berkuasa AI.
// Usage:
"Summarize this article: [long text]"
// Returns:
{
"summary": "Concise summary...",
"keyPoints": [
"Point 1",
"Point 2",
"Point 3"
],
"wordReduction": "85%"
}Bila hendak guna: Dokumen panjang, sintesis penyelidikan, intisari kandungan.
11. crawl_deep (4 credits)
Crawling pelbagai halaman dengan kedalaman boleh dikonfigurasi.
// Usage:
{
"url": "https://example.com",
"max_depth": 3,
"max_pages": 100,
"include_patterns": ["/blog/*"],
"exclude_patterns": ["/admin/*"]
}
// Returns:
{
"pages": [...], // All crawled pages
"stats": {
"total": 87,
"successful": 85,
"failed": 2
}
}Bila hendak guna: Scraping laman penuh, pengagregatan kandungan, pengarkiban.
12. batch_scrape (5 credits)
Scraping selari bagi pelbagai URL.
// Usage:
{
"urls": [
"https://example1.com",
"https://example2.com",
// ... up to 50 URLs
],
"maxConcurrency": 10
}
// Returns:
{
"results": [
{ "url": "...", "success": true, "data": {...} },
...
],
"stats": { "successful": 48, "failed": 2 }
}Bila hendak guna: Pelbagai URL yang diketahui, pemantauan pesaing, penjejakan harga.
13. scrape_with_actions (5 credits)
Automasi pelayar dengan tindakan.
// Usage:
{
"url": "https://example.com/app",
"actions": [
{ "type": "wait", "selector": ".content" },
{ "type": "click", "selector": "#load-more" },
{ "type": "wait", "timeout": 2000 },
{ "type": "scroll", "selector": "body" },
{ "type": "screenshot" }
]
}
// Returns:
{
"finalContent": "...",
"screenshots": ["base64..."],
"actionsExecuted": 5
}Bila hendak guna: SPA, tatal tak terhingga, kandungan dinamik, log masuk diperlukan.
14. search_web (5 credits)
Integrasi carian Google.
// Usage:
{
"query": "web scraping best practices 2026",
"limit": 10,
"site": "github.com" // Optional site filter
}
// Returns:
{
"results": [
{
"title": "...",
"url": "...",
"snippet": "..."
},
...
]
}Bila hendak guna: Penemuan, mencari sumber, titik permulaan penyelidikan.
Tools Khusus (3-10 credits)
15. stealth_mode (5 credits)
Pintasan anti-pengesanan (diterangkan secara terperinci dalam Panduan Stealth Mode).
// Usage:
{
"operation": "create_context",
"stealthConfig": {
"level": "advanced",
"hideWebDriver": true,
"randomizeFingerprint": true,
"simulateHumanBehavior": true
}
}Bila hendak guna: Laman terlindung, pintasan Cloudflare, pengelakan anti-bot.
16. track_changes (3 credits)
Pemantauan kandungan dan pengesanan perubahan.
// Usage:
{
"url": "https://example.com/pricing",
"operation": "create_baseline",
"monitoringOptions": {
"interval": 86400000, // Daily
"notificationThreshold": "moderate"
}
}
// Returns (on change):
{
"changes": [
{
"type": "text_change",
"path": ".pricing-tier-1",
"before": "$19/mo",
"after": "$29/mo",
"significance": "major"
}
]
}Bila hendak guna: Pemantauan harga, penjejakan pesaing, kemas kini kandungan.
17. localization (2 credits)
Scraping bersasar-geo.
// Usage:
{
"operation": "configure_country",
"countryCode": "GB",
"language": "en-GB"
}
// Then scrape to get UK-specific content/pricingBila hendak guna: Harga serantau, kandungan tempatan, data terhad-geo.
18. extract_structured (3 credits)
Pengekstrakan dipacu-skema berkuasa LLM dengan sandaran pemilih CSS.
// Usage:
{
"url": "https://example.com/product/123",
"schema": {
"type": "object",
"properties": {
"title": { "type": "string" },
"price": { "type": "number" }
},
"required": ["title"]
},
"prompt": "Extract the product name and price"
}Bila hendak guna: Apabila anda mahukan output bertaip yang sepadan dengan skema tanpa menulis pemilih.
19. generate_llms_txt (5 credits)
Menganalisis laman dan mengeluarkan fail llms.txt dan llms-full.txt yang mematuhi standard.
// Usage:
{
"url": "https://example.com",
"format": "both",
"complianceLevel": "standard",
"outputOptions": {
"organizationName": "Example Inc.",
"contactEmail": "ai@example.com"
}
}Bila hendak guna: Menerbitkan garis panduan interaksi AI untuk laman web anda.
20. deep_research (10 credits)
Penyelidikan pelbagai sumber yang menyeluruh (diterangkan secara terperinci dalam Panduan Deep Research).
// Usage:
{
"topic": "quantum computing commercialization",
"maxUrls": 50,
"enableSourceVerification": true,
"enableConflictDetection": true
}
// Returns:
{
"synthesis": "Comprehensive analysis...",
"sources": [...],
"conflicts": [...],
"citations": [...]
}Bila hendak guna: Projek penyelidikan, usaha wajar, analisis pasaran.
Bahagian 4: Panduan Integrasi
Persediaan Claude Code
# 1. Install CrawlForge MCP server
npm install -g crawlforge-mcp-server
# 2. Run setup wizard
npx crawlforge-setup
# 3. Add to Claude Code
claude
> /mcp add crawlforge npx crawlforge-mcp-server
# 4. Verify
> /mcp list
# Should show: crawlforge (26 tools)Persediaan Claude Desktop
Sunting fail konfigurasi Claude Desktop anda:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"crawlforge": {
"command": "npx",
"args": ["crawlforge-mcp-server"],
"env": {
"CRAWLFORGE_API_KEY": "cf_live_your_key_here"
}
}
}
}Integrasi Aplikasi Tersuai
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "npx",
args: ["crawlforge-mcp-server"],
env: {
CRAWLFORGE_API_KEY: process.env.CRAWLFORGE_API_KEY
}
});
const client = new Client({
name: "my-app",
version: "1.0.0"
});
await client.connect(transport);
// List available tools
const tools = await client.listTools();
console.log(`Available tools: ${tools.tools.length}`);
// Call a tool
const result = await client.callTool({
name: "fetch_url",
arguments: {
url: "https://example.com"
}
});Bahagian 5: Amalan Terbaik
Pengoptimuman Credit
| Matlamat | Mahal | Cekap |
|---|---|---|
| Semak jika halaman wujud | deep_research (10) | fetch_url (1) |
| Dapatkan teks artikel | scrape_with_actions (5) | extract_content (2) |
| Cari URL pesaing | search_web × 10 (50) | extract_links (1) |
| Scrape 20 halaman produk | fetch_url × 20 (20) | batch_scrape (5) |
Pengendalian Ralat
// Always handle failures gracefully
try {
const result = await fetchUrl(url);
if (result.status >= 400) {
// Try with stealth mode
return await stealthMode(url);
}
return result;
} catch (error) {
// Log and retry with exponential backoff
await sleep(retryDelay * attempt);
return retry(url, attempt + 1);
}Had Kadar
Hormati laman sasaran:
// Good: Reasonable delays
for (const url of urls) {
await scrape(url);
await sleep(1000 + Math.random() * 2000); // 1-3s delay
}
// Better: Use batch_scrape with built-in rate limiting
await batchScrape(urls, { delayBetweenRequests: 1500 });Caching
Jangan scrape URL yang sama dua kali:
const cache = new Map<string, ScrapedContent>();
async function smartScrape(url: string) {
if (cache.has(url)) {
return cache.get(url);
}
const result = await fetchUrl(url);
cache.set(url, result);
return result;
}Bahagian 6: Masa Depan MCP Scraping
Trend Baru Muncul
- Pengekstrakan Asli-AI - LLM menghuraikan HTML tidak berstruktur secara langsung
- Scraper Sembuh-Sendiri - AI menyesuaikan diri dengan perubahan laman secara automatik
- Carian Semantik - Pertanyaan bahasa semula jadi merentas data yang di-scrape
- Analisis Merentas Laman - AI menghubungkan maklumat merentas sumber
Pelan Hala Tuju CrawlForge
Akan datang pada 2026:
- Pemantauan masa nyata - Pemberitahuan perubahan serta-merta
- Penjanaan skema AI - Templat pengekstrakan automatik
- Aliran kerja merentas-tool - Rangkai tools secara pintar
- Privasi dipertingkat - Pilihan scraping tanpa-pengetahuan
Bermula
Bersedia untuk memulakan MCP web scraping? Inilah laluan anda:
Free Tier (Sesuai untuk Bermula)
- 1,000 credits percubaan sekali sahaja
- Kesemua 26 tools tersedia
- Tiada kad kredit diperlukan
# Quick start
npm install -g crawlforge-mcp-server
npx crawlforge-setup
# Visit: https://crawlforge.dev/signupApa yang Anda Boleh Lakukan dengan 1,000 Credits
| Kes Penggunaan | Tools | Credits | Kapasiti Bulanan |
|---|---|---|---|
| Scraping asas | fetch_url | 1 | 1,000 halaman |
| Pengekstrakan artikel | extract_content | 2 | 500 artikel |
| Pemetaan laman | map_site | 2 | 500 laman |
| Kerja batch | batch_scrape | 5 | 200 batch (10K URL) |
| Projek penyelidikan | deep_research | 10 | 100 topik |
Ringkasan
MCP telah merevolusikan web scraping untuk aplikasi AI. Intipati utama:
- MCP ialah standard - Semua pembantu AI utama menyokongnya
- CrawlForge mendahului dengan 26 tools - 4x lebih banyak daripada alternatif
- Mulakan secara ringkas - Gunakan fetch_url (1 credit) sebelum tools lanjutan
- Gabungkan tools - Rangkai operasi untuk aliran kerja yang berkuasa
- Beretika - Hormati robots.txt dan had kadar
Sumber Berkaitan:
Cuba sendiri — tiada pendaftaran diperlukan
Jalankan mana-mana daripada 27 alat scraping dan pengekstrakan CrawlForge dalam playground, kemudian mula secara percuma dengan 1,000 credits.
1,000 credits percuma • Isi semula setiap bulan • Tiada kad kredit diperlukan
Tag
Tentang Penulis
Kekal dikemas kini dengan pandangan terkini
Dapatkan tutorial, kemas kini produk dan petua web scraping terus ke peti masuk anda.
Tiada spam. Berhenti melanggan bila-bila masa.