跳到正文
分析确定性3 credits

analyze_content

统计式内容分析:语言检测、关键词频率、加权词典情感倾向以及 Flesch 阅读易读度。传入 URL,工具会自动抓取并清理页面;也可以直接传入文本。整个过程不调用任何模型,因此相同输入始终得到相同输出。

使用场景

内容分类

在文章进入更昂贵的流水线阶段之前,按检测到的语言和主要关键词进行分流。

情感监测

跟踪评论与反馈的语气。每个分值都会附带产生该分值的具体词语,因此出乎意料的结果可以逐词核查。

可读性审计

对一组页面计算 Flesch 易读度,找出比其余部分更晦涩的文档。

低成本预筛选

在为 summarize_content 或 extract_with_llm 花费 credits 之前,先按长度、语言和关键词筛选抓取到的页面。

多语言路由

检测页面语言,并将其发送到对应的下游处理器或译者。

语料统计

统计整次爬取的词数、句数和平均句长,用于报表或质量门禁。

Endpoint

POST/api/v1/tools/analyze_content
Auth Required
Free 计划 1 req/s
3 credits

Parameters

NameTypeRequiredDefaultDescription
url
stringOptional-
要抓取并分析的页面。script、style、nav、header 和 footer 会被剥离,随后分析 body 中剩余的文本。`url` 与 `content` 至少提供一个。
Example: https://example.com/blog/post
content
stringOptional-
直接分析的文本,跳过抓取。仅在省略 `url` 时生效——两者都传时以抓取到的页面为准。
Example: The dashboard is a great upgrade...
analyze_sentiment
booleanOptionalfalse
使用 AFINN-165(约 3,400 个词的加权英文词典)给情感打分,并处理否定("not happy" 计为负面)。默认关闭;不请求时响应中不会出现 `sentiment` 对象。对于其他语言且未命中任何词典词的文本,`label` 为 `not_applicable`,并附带 `notApplicable: "sentiment-lexicon-is-english-only"`,而不是返回一个从未真正测量过的 `neutral`。
Example: true
extract_keywords
booleanOptionaltrue
返回长度超过三个字符、出现频率最高的十个词及其计数。`that`、`with`、`from` 等英文功能词从不计入;当文本被检测为德语时,`nicht`、`eine`、`dass` 等德语功能词也会被排除。
Example: true
detect_language
booleanOptionaltrue
检测语言并返回 ISO 639-1 代码;文本过短或语言无法识别时返回 `und`。
Example: true
analyze_readability
booleanOptionalfalse
计算 Flesch 易读度和一个粗略的年级水平。默认关闭;不请求时响应中不会出现 `readability` 对象。
Example: true
timeout
numberOptional10000
抓取超时(毫秒),取值 1000 到 30000。仅在使用 `url` 时生效。
Example: 10000
respect_robots
booleanOptionaltrue
遵守目标站点的 robots.txt。保持 `true` 时,robots.txt 对 `CrawlForge` 禁止的路径会在抓取之前以 403 拒绝,且不扣除 credits。仅在你与目标站点另有约定时才设为 `false`——此时响应会带上一条 `warnings`,并且该覆盖会记录到你的 API key 上。
Example: true

请求示例

terminalBash
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
  }'

响应示例

200 OK310ms
{
"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": "great",
"frequency": 1
},
{
"word": "upgrade",
"frequency": 1
}
],
"sentiment": {
"score": 0.16,
"label": "positive",
"confidence": 1,
"positive_matches": [
"great",
"easy",
"clear",
"helpful",
"easy",
"reliable",
"recommend"
],
"negative_matches": [],
"method": "lexicon"
},
"readability": {
"flesch_score": 76,
"grade_level": "middle_school"
}
},
"credits_used": 3,
"credits_remaining": 997,
"processing_time": 310
}
Field Descriptions
data.content_length剥离 HTML 后被分析文本的字符数
data.avg_sentence_length每句词数,四舍五入为整数
data.languageISO 639-1 代码,或 `und`。仅当 `detect_language` 为 true(默认值)时出现
data.keywords按原始频率排序、长度超过三个字符的前十个词。英文功能词不计入,文本为德语时德语功能词也不计入
data.sentiment.score文本中每个词的 AFINN-165 净得分(每个命中词的权重为 -5..+5),并限制在 -1..1 之间
data.sentiment.label大于 0.05 为 `positive`,小于 -0.05 为 `negative`,否则为 `neutral`;非英文文本若未命中任何词典词,则为 `not_applicable`,并附带 `notApplicable`
data.sentiment.confidence标签所依据的证据量:每命中一个词典词加 0.2,最高为 1。未命中任何词典词时为 0
data.sentiment.positive_matches所有产生正向贡献的词,按出现顺序列出并保留重复——分值正是由它们构成的
data.sentiment.method始终为 `lexicon`。不调用任何模型
data.readability.flesch_scoreFlesch 易读度,限制在 0-100。数值越高越易读
data.readability.grade_level`middle_school`、`high_school` 或 `college`,仅根据句子长度推导
credits_used每次调用固定 3 credits,与文本长度无关

错误处理

未提供 url 或 content(400 Bad Request)

VALIDATION_ERROR。两者至少要提供一个。url 格式错误或 timeout 超出 1000-30000 也返回同一状态码。

页面过大(413 Payload Too Large)

RESPONSE_TOO_LARGE。抓取到的响应体超过 25MB 读取上限,被直接拒绝而不是缓冲到内存。如果确实需要分析,请通过 content 自行传入文本。

目标站点超时(504 Gateway Timeout)

FETCH_TIMEOUT。页面在发送响应体的过程中停止响应。可以调高 timeout,最大 30000 毫秒。

抓取失败(502 Bad Gateway)

FETCH_FAILED。无法读取响应体——连接被重置,或响应体不是可解码的文本。

分析失败(500 Internal Server Error)

TOOL_ERROR。失败的调用不计费;只有分析成功后才会扣除 credits。

被 robots.txt 拦截(403 Forbidden)

目标站点的 robots.txt 对 CrawlForge 禁止了该路径。若你与目标站点另有约定,可设置 respect_robots: false 予以覆盖——该覆盖会记录到你的 API key 上。该覆盖不适用于列入 CrawlForge 永久排除名单的主机——无论 respect_robots 取何值,这类主机一律被拒绝。

credits 费用

3 credits
每次调用 3 credits
无论传入 URL 还是纯文本、启用哪些分析项,都是同一价格。失败的调用不计费。

包含内容:

语言检测(ISO 639-1,基于三元组)

前十位关键词频率

加权词典情感倾向,并附命中词

Flesch 易读度与年级水平

词数、句数与字符数

计划推荐:

Free 计划: 1,000 个一次性试用 credits = 333 次分析

Hobby 计划: 5,000 credits = 1,666 次分析($19/mo)

Professional 计划: 100,000 credits = 33,333 次分析($99/mo)

相关工具