analyze_content
Analisis kandungan secara statistik: pengesanan bahasa, frekuensi kata kunci, sentimen leksikon berpemberat dan kemudahan bacaan Flesch. Berikan URL dan alat ini akan mengambil serta membersihkan halaman untuk anda, atau hantar teks terus. Tiada panggilan model terlibat, jadi input yang sama sentiasa menghasilkan output yang sama.
Kes Penggunaan
Pengelasan Kandungan
Halakan artikel mengikut bahasa yang dikesan dan kata kunci dominan sebelum ia sampai ke peringkat saluran yang lebih mahal.
Pemantauan Sentimen
Jejaki nada ulasan dan maklum balas. Setiap skor disertakan dengan perkataan tepat yang menghasilkannya, jadi keputusan yang mengejutkan boleh diaudit.
Audit Kebolehbacaan
Kemudahan bacaan Flesch merentas satu set halaman, untuk mencari dokumentasi yang menjadi lebih padat daripada yang lain.
Penapisan Awal Yang Murah
Tapis halaman yang dikikis mengikut panjang, bahasa dan kata kunci sebelum membelanjakan credits pada summarize_content atau extract_with_llm.
Penghalaan Berbilang Bahasa
Kesan bahasa sesebuah halaman dan hantarkannya kepada pengendali atau penterjemah yang betul.
Statistik Korpus
Kiraan perkataan, ayat dan purata panjang ayat merentas satu rangkak, untuk pelaporan atau get kualiti.
Endpoint
/api/v1/tools/analyze_contentParameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Optional | - | Halaman yang akan diambil dan dianalisis. Script, style, nav, header dan footer dibuang, dan teks body yang tinggal dianalisis. Berikan sama ada `url` atau `content`. Example: https://example.com/blog/post |
content | string | Optional | - | Teks untuk dianalisis terus, tanpa pengambilan. Hanya berkesan apabila `url` ditinggalkan — jika kedua-duanya dihantar, halaman yang diambil yang menang. Example: The dashboard is a great upgrade... |
analyze_sentiment | boolean | Optional | false | Beri skor sentimen menggunakan leksikon bahasa Inggeris berpemberat. Dimatikan secara lalai; objek `sentiment` tiada melainkan anda memintanya. Example: true |
extract_keywords | boolean | Optional | true | Kembalikan sepuluh perkataan paling kerap yang melebihi tiga aksara, berserta kiraannya. Example: true |
detect_language | boolean | Optional | true | Kesan bahasa dan kembalikan kod ISO 639-1, atau `und` apabila teks terlalu pendek atau bahasanya tidak dikenali. Example: true |
analyze_readability | boolean | Optional | false | Kira kemudahan bacaan Flesch dan tahap gred kasar. Dimatikan secara lalai; objek `readability` tiada melainkan anda memintanya. Example: true |
timeout | number | Optional | 10000 | Had masa pengambilan dalam milisaat, antara 1000 dan 30000. Hanya terpakai apabila `url` digunakan. Example: 10000 |
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 -X POST https://crawlforge.dev/api/v1/tools/analyze_content \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/blog/dashboard-review",
"analyze_sentiment": true,
"analyze_readability": true
}'Contoh Respons
{ "success": true, "data": { "content_length": 407, "word_count": 75, "sentence_count": 6, "avg_sentence_length": 13, "language": "en", "keywords": [ { "word": "dashboard", "frequency": 3 }, { "word": "easy", "frequency": 2 }, { "word": "that", "frequency": 2 }, { "word": "great", "frequency": 1 }, { "word": "upgrade", "frequency": 1 } ], "sentiment": { "score": 0.924, "label": "positive", "positive_matches": [ "great", "easy", "clear", "helpful", "fast", "easy", "reliable", "recommend" ], "negative_matches": [], "method": "lexicon" }, "readability": { "flesch_score": 76, "grade_level": "middle_school" } }, "credits_used": 3, "credits_remaining": 997, "processing_time": 310}data.content_lengthKiraan aksara teks yang dianalisis, selepas HTML dibuangdata.avg_sentence_lengthPerkataan setiap ayat, dibundarkan kepada nombor bulatdata.languageKod ISO 639-1, atau `und`. Hadir hanya apabila `detect_language` ialah true (lalai)data.keywordsSepuluh perkataan teratas melebihi tiga aksara mengikut frekuensi mentah. Tiada senarai kata henti, jadi perkataan lazim seperti `that` dan `with` boleh munculdata.sentiment.scoreJumlah pemberat leksikon yang sepadan dibahagikan dengan punca kuasa dua kiraan perkataan, dihadkan kepada -1..1data.sentiment.label`positive` melebihi 0.05, `negative` di bawah -0.05, selain itu `neutral`data.sentiment.positive_matchesSetiap perkataan yang menyumbang secara positif, mengikut urutan dan termasuk pendua — inilah yang membentuk skor tersebutdata.sentiment.methodSentiasa `lexicon`. Tiada model dipanggildata.readability.flesch_scoreKemudahan bacaan Flesch, dihadkan kepada 0-100. Lebih tinggi lebih mudahdata.readability.grade_level`middle_school`, `high_school` atau `college`, diterbitkan daripada panjang ayat sahajacredits_used3 credits tetap setiap panggilan, tidak kira panjang teksPengendalian Ralat
Tiada url mahupun content (400 Bad Request)
VALIDATION_ERROR. Sekurang-kurangnya satu daripada dua itu mesti ada. Status yang sama meliputi url yang cacat dan timeout di luar 1000-30000.
Halaman Terlalu Besar (413 Payload Too Large)
RESPONSE_TOO_LARGE. Badan yang diambil melebihi had bacaan 25MB dan ditolak dan bukannya ditimbal. Hantar teks itu sendiri melalui content jika anda perlu menganalisisnya.
Sasaran Tamat Masa (504 Gateway Timeout)
FETCH_TIMEOUT. Halaman berhenti bertindak balas semasa menghantar badannya. Naikkan timeout, sehingga 30000ms.
Pengambilan Gagal (502 Bad Gateway)
FETCH_FAILED. Badan respons tidak dapat dibaca — sambungan ditetapkan semula, atau badan yang bukan teks boleh nyahkod.
Analisis Gagal (500 Internal Server Error)
TOOL_ERROR. Panggilan yang gagal tidak dicaj; credits hanya ditolak selepas analisis berjaya.
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.
data.language sebelum mempercayai data.sentiment.Kos Credit
Apa yang Disertakan:
Pengesanan bahasa (ISO 639-1, berasaskan trigram)
Frekuensi sepuluh kata kunci teratas
Sentimen leksikon berpemberat dengan perkataan yang sepadan
Kemudahan bacaan Flesch dan tahap gred
Kiraan perkataan, ayat dan aksara
Cadangan Pelan:
Free Plan: 1,000 credits percubaan sekali sahaja = 333 analisis
Hobby Plan: 5,000 credits = 1,666 analisis ($19/mo)
Professional Plan: 50,000 credits = 16,666 analisis ($99/mo)