Langkau ke kandungan

CrawlForge TeamPasukan Kejuruteraan

10 min bacaanDikemas kini

Cara Scrape Tapak Web dengan Claude Code (Panduan 2026)

Claude Code boleh menyunting fail, menjalankan arahan shell, dan menulis ujian -- tetapi ia tidak boleh fetch halaman web langsung dengan sendirinya. Sambungkannya ke CrawlForge MCP dan ia memperoleh 31 alat scraping yang berjalan terus daripada terminal anda.

Bash
npm install -g crawlforge-mcp-server
npx crawlforge-setup  # paste your API key
# Now in Claude Code:
# > Fetch https://news.ycombinator.com and list the top 5 stories

Panduan ini menunjukkan kepada anda cara scrape tapak web dengan Claude Code menggunakan CrawlForge MCP, daripada pemasangan hingga pintasan stealth mode. Setiap blok kod di bawah boleh dijalankan.

Jadual Kandungan

Masalahnya: Claude Code Tidak Boleh Fetch URL

Secara lalai, Claude Code tiada akses rangkaian. Minta ia "baca catatan blog ini" dan ia akan memberitahu anda bahawa ia tidak boleh membuka URL. Pembantu WebFetch terbina dalam wujud dalam Claude Desktop tetapi terhad, dihadkan kadar, dan kerap disekat oleh Cloudflare, Akamai, dan perlindungan edge lain.

CrawlForge MCP menyelesaikan ini dengan mendedahkan 31 alat scraping -- fetch_url, extract_content, scrape_structured, stealth_mode, deep_research, dan banyak lagi -- sebagai alat Model Context Protocol yang boleh dipanggil oleh Claude Code seperti mana-mana fungsi lain. Untuk latar belakang lanjut tentang protokol itu sendiri, lihat panduan lengkap kami untuk MCP web scraping.

Prasyarat

  • Node.js 18+ -- semak dengan node --version
  • Claude Code -- pasang dengan npm install -g @anthropic-ai/claude-code
  • Akaun CrawlForge -- percuma di crawlforge.dev/signup (1,000 credits disertakan, tiada kad kredit)

Langkah 1: Pasang CrawlForge MCP

Bash
npm install -g crawlforge-mcp-server

Sahkan pemasangan:

Bash
crawlforge-mcp-server --version
# crawlforge-mcp-server 5.0.0

Langkah 2: Dapatkan Kunci API Anda

  1. Pergi ke crawlforge.dev/signup dan cipta akaun.
  2. Buka papan pemuka di crawlforge.dev/dashboard/keys.
  3. Salin kunci -- ia bermula dengan cf_live_.

Langkah 3: Daftar Pelayan MCP dengan Claude Code

Laluan terpantas ialah wizard persediaan:

Bash
npx crawlforge-setup

Ia menulis entri CrawlForge ke dalam ~/.claude.json, fail yang digunakan Claude Code untuk MCP servers berskop pengguna dan tempatan pada setiap platform.

Jika anda lebih suka konfigurasi manual, tambah ini pada konfigurasi MCP Claude Code anda:

Json
{
  "mcpServers": {
    "crawlforge": {
      "command": "crawlforge-mcp-server",
      "env": {
        "CRAWLFORGE_API_KEY": "cf_live_your_key_here"
      }
    }
  }
}

Mulakan semula Claude Code supaya ia mengambil pelayan baharu.

Langkah 4: Sahkan Sambungan

Buka Claude Code dan jalankan:

/mcp

Anda sepatutnya melihat crawlforge disenaraikan sebagai bersambung. Claude Code menangguhkan definisi MCP tools sehingga ada tugas yang memerlukannya, jadi 31 alat itu mungkin tidak disenaraikan di awal -- status connected ialah isyarat yang penting. Jika ia tiada, lompat ke Penyelesaian Masalah.

Langkah 5: Scrape Pertama Anda

Tampal gesaan ini ke dalam Claude Code:

Fetch https://news.ycombinator.com using CrawlForge and give me the top 5 story titles with their URLs as a JSON array.

Claude Code akan memanggil fetch_url (1 credit), menghuraikan HTML, dan memulangkan sesuatu seperti:

Json
[
  { "title": "Show HN: My side project", "url": "https://example.com/post/1" },
  { "title": "Why X is changing Y", "url": "https://example.com/post/2" }
]

Itu sahaja. Anda sedang membuat scraping.

Contoh Berfungsi Penuh: Scrape Halaman Harga

Berikut ialah tugas realistik: ekstrak peringkat harga daripada tapak SaaS. Tampal gesaan ini:

Use scrape_structured to extract pricing from https://crawlforge.dev/pricing. Return an array of { plan, price, credits, features[] }.

Di sebalik tabir, Claude Code membina permintaan seperti ini:

Typescript
// What Claude Code sends to CrawlForge via MCP
const response = await fetch('https://crawlforge.dev/api/v1/tools/scrape_structured', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.CRAWLFORGE_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    url: 'https://crawlforge.dev/pricing',
    selectors: {
      plan: '.pricing-card h3',
      price: '.pricing-card .price',
      credits: '.pricing-card .credits',
      features: '.pricing-card ul li',
    },
  }),
});

const data = await response.json();
console.log(data.plan); // ['Free', 'Hobby', 'Professional', 'Business']

Kos: 2 credits. Bandingkan dengan menjalankan pelayar headless secara setempat: tiada infrastruktur, tiada penyahpepijatan Puppeteer, tiada roulette Cloudflare.

Lanjutan: Scrape Tapak yang Dipaparkan dengan JavaScript

Sesetengah tapak memaparkan data harga atau produk melalui React sebelah klien. fetch_url memulangkan cangkerang HTML pra-penghidratan dan terlepas data. Bertukar kepada scrape_with_actions (5 credits):

Typescript
// Prompt Claude Code with this, and it generates the call
const payload = {
  url: 'https://app.example.com/dashboard',
  actions: [
    { type: 'wait', selector: '.data-grid', timeout: 5000 },
    { type: 'click', selector: 'button.load-more' },
    { type: 'wait', timeout: 1500 },
  ],
  formats: ['json', 'markdown'],
};

const result = await fetch('https://crawlforge.dev/api/v1/tools/scrape_with_actions', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.CRAWLFORGE_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(payload),
}).then(r => r.json());

Untuk tapak dilindungi Cloudflare dan Akamai, gunakan stealth_mode (juga 5 credits). Kami membincangkan tukar ganti putaran cap jari dalam penerokaan mendalam stealth mode kami.

Rujukan Pantas Alat

AlatCreditsBila hendak digunakan
fetch_url1HTML statik, anda akan menghuraikan sendiri
extract_text1Teks boleh baca yang bersih daripada halaman artikel
extract_content2Pengekstrakan kandungan utama gaya kebolehbacaan
scrape_structured2Pemilih CSS ke dalam medan bertaip
search_web5Anda belum tahu URL lagi
scrape_with_actions5SPA memerlukan klik, tunggu, tatal
stealth_mode5Sistem anti-bot (Cloudflare, DataDome)
deep_research10Penyelidikan pelbagai sumber dengan petikan

Senarai penuh dalam gambaran keseluruhan alat lengkap kami.

Penyelesaian Masalah

"MCP server failed to start" -- Sahkan crawlforge-mcp-server berada pada PATH anda. Jalankan which crawlforge-mcp-server. Jika kosong, pasang semula secara global: npm install -g crawlforge-mcp-server.

Ralat "Unauthorized" atau 401 -- Kunci API anda hilang atau salah format. Ia mesti bermula dengan cf_live_. Eksport semula dalam shell anda: export CRAWLFORGE_API_KEY="cf_live_..." dan mulakan semula Claude Code.

"Insufficient credits" -- Semak penggunaan di crawlforge.dev/dashboard/usage. Akaun Free mendapat 1,000 credits sekali sahaja. Naik taraf kepada Hobby ($19/bulan) untuk 5,000/bulan.

Pelayan tiada dalam /mcp -- Konfigurasi tidak dibaca. Jalankan claude mcp list untuk melihat status kesihatan pelayan dan butiran kegagalannya. Pelayan berskop pengguna dan tempatan berada dalam ~/.claude.json; pelayan berskop projek berada dalam .mcp.json di akar repo dan memerlukan kelulusan interaktif sebelum ia dimuatkan.

Cloudflare 403 pada setiap fetch -- Tukar fetch_url kepada stealth_mode. Jika anda masih disekat, sasaran menggunakan pencapjarian JA3/JA4 sebelah pelayan; buka isu di GitHub dengan URL tersebut.

FAQ

Lihat bahagian FAQ di bawah untuk jawapan pantas kepada soalan yang paling lazim.

Langkah Seterusnya

Mula percuma dengan 1,000 credits di crawlforge.dev/signup. Tiada kad kredit diperlukan.

Cuba sendiri — tiada pendaftaran diperlukan

Terokai kesemua 31 alat scraping dan pengekstrakan CrawlForge dalam playground, kemudian mula secara percuma dengan 1,000 credits.

1,000 credits percuma • Sekali sahaja • Tiada kad kredit diperlukan

Tag

  • Claude-Code
  • web-scraping
  • MCP
  • tutorial
  • CLI
  • AI-agents
  • getting-started

Tentang Penulis

CrawlForge Team

Pasukan Kejuruteraan

Membina MCP server web scraping yang paling menyeluruh. Kami mencipta alatan yang membantu pembangun mengekstrak, menganalisis dan mengubah data web untuk aplikasi AI.

Surat berita

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.

Soalan Lazim

Soalan lazim

01Bolehkah Claude Code scrape tapak web tanpa CrawlForge?

Tidak boleh dipercayai. Claude Code tiada akses rangkaian terbina dalam, dan pembantu WebFetch dalam Claude Desktop dihadkan kadar dan disekat oleh kebanyakan sistem anti-bot. CrawlForge MCP menambah 31 alat scraping khusus yang mengendalikan HTML statik, halaman yang dipaparkan dengan JavaScript, dan tapak dilindungi Cloudflare.

02Berapakah kos untuk scrape dengan Claude Code?

CrawlForge menggunakan model credit: fetch asas berkos 1 credit, pengekstrakan berstruktur 2 credits, carian 5, stealth 5, penyelidikan mendalam 10. Akaun Free bermula dengan 1,000 credits sekali sahaja, tanpa kad kredit. Pelan Hobby ($19/bulan) merangkumi 5,000 credits.

03Mengapa saya mendapat ralat 403 apabila Claude Code fetch URL tertentu?

Tapak yang dilindungi oleh Cloudflare, DataDome, atau Akamai menyekat klien HTTP generik melalui pencapjarian TLS dan cabaran JavaScript. Bertukar daripada fetch_url (1 credit) kepada stealth_mode (5 credits), yang memutarkan cap jari pelayar dan menyelesaikan cabaran secara automatik.

04Adakah CrawlForge MCP berfungsi dengan Claude Code pada Windows?

Ya. Pasang melalui npm, jalankan npx crawlforge-setup, dan entri CrawlForge mendarat dalam ~/.claude.json di dalam profil pengguna anda -- fail yang sama digunakan Claude Code pada macOS dan Linux. Node.js 18+ ialah satu-satunya keperluan sistem. Pengguna Windows patut menjalankan arahan persediaan daripada PowerShell atau Windows Terminal untuk pengalaman paling bersih.

05Apakah perbezaan antara fetch_url dan scrape_with_actions?

fetch_url memulangkan HTML mentah melalui permintaan HTTP pantas (1 credit). scrape_with_actions menghidupkan pelayar headless, melaksanakan klik/tunggu/tatal, kemudian menangkap DOM yang dihidratkan (5 credits). Gunakan fetch_url untuk halaman statik dan scrape_with_actions hanya apabila pemaparan JavaScript diperlukan.

Teruskan membaca

Artikel Berkaitan