CrawlForge MCP
PemantauanLanjutan3 credits

track_changes

Simpan syot kilat sesebuah halaman, kemudian bandingkan halaman langsung dengannya bila-bila masa. Anda memperoleh sama ada sesuatu berubah, sebanyak mana, baris mana yang ditambah atau dibuang, dan satu skor persamaan struktur yang memberitahu sama ada penanda itu sendiri telah dibina semula.

Kes Penggunaan

Kesan scraper yang hampir rosak

structural_similarity yang rendah bermakna penanda halaman telah dibina semula, dan itulah yang sebenarnya merosakkan pemilih — kesannya sebelum saluran pengekstrakan anda mula memulangkan hasil kosong.

Pantau halaman harga pesaing

Hadkan skop kepada jadual harga dengan selector, bandingkan mengikut jadual anda sendiri, dan baca baris yang ditambah dan dibuang untuk melihat apa yang berubah.

Jejaki dokumen undang-undang dan dasar

Bandingkan Terma Perkhidmatan, dasar privasi atau halaman kawal selia, dan simpan rekod boleh audit tentang baris mana sebenarnya yang berubah.

Tangkap perubahan memecahkan dalam dokumentasi API

Tangkap garis dasar halaman rujukan atau changelog vendor, dan bandingkan sebelum setiap keluaran anda.

Sahkan penempatan hanya mengubah apa yang dijangka

Tangkap garis dasar sebelum menghantar, bandingkan selepas itu, dan sahkan bahawa perbezaannya sepadan dengan perubahan yang diniatkan.

Endpoint

POST/api/v1/tools/track_changes
Auth Required
1 permintaan/s pada pelan Free
3 credits

Parameters

Titik akhir ini menerima empat parameter. Contoh lama menghantar objek trackingOptions, monitoringOptions dan storageOptions — API REST terhos menerima kunci tersebut dan mengabaikannya, jadi menghantarnya tidak mengubah apa-apa. Kawalan setara wujud pada pelayan MCP CrawlForge.
NameTypeRequiredDefaultDescription
url
stringRequired-
Halaman yang hendak ditangkap atau dibandingkan.
Example: https://competitor.com/pricing
operation
stringOptionalcompare
Sama ada `"create_baseline"` atau `"compare"`. Menghantar `"monitor"` memulangkan 501 — pemantauan berjadual ialah ciri pelayan MCP. Sebarang nilai lain ditolak dengan 400.
Example: compare
selector
stringOptional-
Pemilih CSS yang mengehadkan penjejakan kepada sebahagian halaman, contohnya `.pricing-table`. Garis dasar disimpan mengikut pasangan (url, selector), jadi URL yang sama boleh dijejaki pada beberapa skop secara berasingan. Memulangkan 422 jika pemilih tidak sepadan dengan apa-apa.
Example: .pricing-table
update_baseline
booleanOptionalfalse
Untuk `compare` sahaja. Selepas membandingkan, tulis ganti garis dasar tersimpan dengan kandungan yang baru diambil. Gunakannya untuk perbandingan bergolek, di mana setiap panggilan melaporkan perubahan sejak panggilan sebelumnya dan bukan sejak tangkapan asal.
Example: false
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

Operasi

Cipta garis dasar sekali, kemudian bandingkan dengannya seberapa kerap yang anda mahu.

create_baseline
Mengambil halaman, menurunkannya kepada teks kelihatan yang dinormalkan, dan menyimpannya bersama cincangan kandungan dan tandatangan struktur. Garis dasar disimpan 90 hari bagi setiap akaun API. Jalankan ini dahulu — membandingkan tanpa garis dasar memulangkan 404.
compare
Mengambil halaman semula dan membandingkannya baris demi baris dengan garis dasar tersimpan. Memulangkan peratusan perubahan, persamaan struktur, kiraan, serta sampel baris yang ditambah dan dibuang. Ini ialah operasi lalai.

Cara membaca perbandingan

Kedua-dua skor menjawab soalan yang berbeza, dan gabungannya lebih berguna daripada mana-mana satu.

change_percent — berapa banyak teks berubah
Baris ditambah campur dibuang sebagai bahagian daripada dokumen yang lebih besar, 0-100. Tinggi pada sebarang kemas kini kandungan sebenar; juga tinggi pada halaman yang membawa cap masa, kaunter paparan atau testimoni berputar, jadi jangkakan lantai bising pada halaman dinamik.
structural_similarity — adakah penanda masih sama
Skor 0-1 yang membandingkan perbendaharaan tag dan kedalaman sarang. change_percent tinggi dengan structural_similarity tinggi bermakna susun atur yang sama dengan teks baharu. Skor rendah bermakna halaman telah dibina semula, dan itulah yang merosakkan pemilih.
Pengesanan berasaskan teks: halaman diambil melalui HTTP dan JavaScript tidak pernah dilaksanakan, jadi kandungan yang dipapar di sebelah pelanggan tidak kelihatan kepada titik akhir ini. Untuk penjejakan terpapar pelayar, pemantauan berjadual, webhook, sejarah perubahan dan statistik, gunakan pelayan MCP CrawlForge.
structural_similarity ialah null, bukan 0, apabila garis dasar tersimpan mendahului medan ini. Sifar ialah skor sebenar yang bermaksud tiada apa-apa struktur terselamat, jadi perbandingan yang tidak diukur melaporkan null sebaliknya. Jalankan semula create_baseline, atau hantar update_baseline sekali, untuk mula memberikannya skor.

Contoh Permintaan

terminalBash
# Step 1: capture the baseline (once per url + selector, kept 90 days)
curl -X POST https://crawlforge.dev/api/v1/tools/track_changes \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://competitor.com/pricing",
    "operation": "create_baseline",
    "selector": ".pricing-table"
  }'

# Step 2: compare against it, as often as you like
curl -X POST https://crawlforge.dev/api/v1/tools/track_changes \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://competitor.com/pricing",
    "operation": "compare",
    "selector": ".pricing-table"
  }'

# Rolling comparison: diff against the previous call, not the original capture
curl -X POST https://crawlforge.dev/api/v1/tools/track_changes \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://competitor.com/pricing",
    "operation": "compare",
    "selector": ".pricing-table",
    "update_baseline": true
  }'

Contoh Respons

200 OK1,180ms
{
"success": true,
"data": {
"operation": "compare",
"url": "https://competitor.com/pricing",
"selector": ".pricing-table",
"changed": true,
"change_percent": 12.5,
"structural_similarity": 0.9713,
"added_count": 4,
"removed_count": 2,
"added_samples": [
"Pro $79 / month",
"Includes 50,000 credits",
"Enterprise",
"Contact sales"
],
"removed_samples": [
"Pro $99 / month",
"Includes 25,000 credits"
],
"baseline_captured_at": "2026-08-01T12:00:00.000Z",
"compared_at": "2026-08-26T14:30:00.000Z",
"baseline_updated": false
},
"credits_used": 3,
"credits_remaining": 997,
"processing_time": 1180
}
Field Descriptions
data.changedBenar apabila cincangan kandungan berbeza daripada garis dasar — pemeriksaan terpantas jika anda hanya perlukan ya atau tidak.
data.change_percentBaris ditambah campur dibuang sebagai peratusan daripada dokumen yang lebih besar, 0-100.
data.structural_similarityPersamaan penanda 0-1. Null apabila garis dasar mendahului medan ini.
data.added_samplesSehingga 20 baris ditambah, setiap satu dipangkas kepada 500 aksara. Bukan perbezaan penuh — gunakan added_count untuk jumlah sebenar.
data.removed_samplesSehingga 20 baris dibuang, had yang sama seperti added_samples.
data.baseline_updatedSama ada panggilan ini menulis ganti garis dasar, mencerminkan parameter update_baseline.
credits_used3 credits, dicaj bagi setiap panggilan berjaya. Panggilan gagal tidak dicaj.

Pengendalian Ralat

Garis dasar tidak dijumpai (404 BASELINE_NOT_FOUND)

Anda memanggil compare sebelum menyimpan garis dasar, atau garis dasar 90 hari itu telah luput. Jalankan create_baseline untuk pasangan (url, selector) yang tepat itu dahulu.

Pemilih tidak sepadan dengan apa-apa (422 SELECTOR_NOT_FOUND)

Pemilih CSS itu tidak memulangkan sebarang elemen. Semaknya terhadap penanda langsung — pemilih yang berfungsi dalam alat pembangun selepas JavaScript berjalan mungkin tidak wujud dalam HTML mentah yang diambil oleh titik akhir ini.

Sasaran tidak boleh dicapai (502 FETCH_FAILED)

Halaman memulangkan status bukan 2xx. Laman yang mempunyai perlindungan bot lazimnya berakhir di sini — ambilnya dengan stealth_mode sebaliknya.

Pemantauan berjadual tidak tersedia (501 OPERATION_NOT_AVAILABLE)

operation: "monitor" tidak dilaksanakan pada API REST terhos. Panggil compare mengikut jadual anda sendiri, atau gunakan pelayan MCP CrawlForge.

Parameter tidak sah (400 VALIDATION_ERROR)

URL cacat, atau operation di luar create_baseline, compare dan monitor. Tatasusunan details dalam respons menamakan medan yang gagal.

Storan tidak tersedia (503 STORAGE_UNAVAILABLE)

Storan garis dasar tidak dapat dicapai. Cuba semula — tiada credits dicaj bagi panggilan yang gagal.

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.

Mengurangkan positif palsu: Hadkan skop dengan selector dan bukannya menjejaki keseluruhan halaman. Garis dasar satu halaman penuh akan mengambil navigasi, pengaki, sepanduk kuki dan kandungan berputar, dan itulah biasanya yang menghasilkan perubahan pada setiap satu perbandingan.

Kos credits

3 credits
3 credits setiap panggilan
Kedua-dua create_baseline dan compare berharga 3 credits. Panggilan gagal tidak dicaj. Tiada penjadual pada API REST, jadi kekerapan perbandingan anda — dan dengan itu kos anda — sepenuhnya di bawah kawalan anda.

Pecahan Kos:

create_baseline: 3 credits, sekali bagi setiap pasangan (url, selector), sah 90 hari

compare: 3 credits setiap panggilan

Contoh Kos Tinjauan, setiap URL:

Setiap jam: 24 panggilan/hari = 72 credits/hari

Setiap 6 jam: 4 panggilan/hari = 12 credits/hari

Harian: 1 panggilan/hari = 3 credits/hari

Cadangan Pelan:

Pelan Free: 1,000 credits percubaan sekali sahaja = kira-kira 5 URL dibandingkan setiap 6 jam selama sebulan

Pelan Hobby: 5,000 credits/bulan = kira-kira 13 URL dibandingkan setiap 6 jam ($19/bulan)

Pelan Professional: 50,000 credits/bulan = kira-kira 138 URL dibandingkan setiap 6 jam ($99/bulan)

Alat Berkaitan

fetch_url
Pengambilan HTTP mentah apabila anda mahu membandingkan kandungan sendiri (1 credit)
extract_content
Tarik kandungan utama sebelum membandingkan, untuk halaman yang bising (2 credits)
stealth_mode
Capai halaman di sebalik perlindungan bot yang memulangkan 502 di sini (5 credits)
batch_scrape
Ambil banyak URL dalam satu panggilan (5 credits setiap URL)
Bersedia mencuba track_changes? Daftar secara percuma dan dapatkan 1,000 credits untuk menangkap garis dasar halaman pertama anda.

Footer

CrawlForge MCP

Web scraping gred perusahaan untuk Ejen AI. 29 alat MCP khusus yang direka untuk pembangun moden yang membina sistem pintar.

Produk

  • Ciri
  • Playground
  • Harga
  • Kes Penggunaan
  • Integrasi
  • Alternatif
  • Changelog

Sumber

  • Mula Bekerja
  • Rujukan API
  • Templat
  • Panduan
  • Blog
  • Glosari
  • Soalan Lazim
  • Peta Laman

Pembangun

  • Protokol MCP
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Syarikat

  • Tentang
  • Hubungi
  • Privasi
  • Terma
  • Penggunaan Boleh Diterima
  • Cookies

Kekal dikemas kini

Dapatkan kemas kini terkini tentang alat dan ciri baharu.

Dibina dengan Next.js dan protokol MCP

© 2025-2026 CrawlForge. Hak cipta terpelihara.