Felo Web Fetch

通过 Felo API 提取网页内容,支持多种格式输出。

已扫描
适合谁
需要快速提取网页文章的用户、从事内容采集与信息整合的工作者
不适合谁
无需外部网络访问的离线环境用户、希望直接处理本地文件的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @wangzhiming1999/felo-web-fetch

Skill 说明

命令、参数、文件名以原文为准

Felo Web Fetch 技能

何时使用

在用户希望执行以下操作时触发此技能:

  • 从网页 URL 获取或抓取内容
  • 从链接中提取文章或正文内容
  • 将网页转换为 Markdown 或纯文本
  • 捕获可读内容以便后续摘要或处理

触发关键词示例:

  • 网页抓取、抓取 URL、获取页面内容、网页获取、URL 转 Markdown
  • 显式指令:/felo-web-fetch、"使用 felo web fetch"
  • 其他语言中的相同意图(如:网页抓取、提取网页内容)也应触发此技能

不适用场景

  • 实时搜索或问答(请使用 felo-search
  • 生成幻灯片(请使用 felo-slides
  • 本地文件内容读取(请直接读取文件)

设置

1. 获取 API 密钥

  1. 访问 [felo.ai](https://felo.ai)
  2. 进入 设置 -> API Keys
  3. 创建并复制你的 API 密钥

2. 配置环境变量

Linux/macOS:

export FELO_API_KEY="your-api-key-here"

Windows PowerShell:

$env:FELO_API_KEY="your-api-key-here"

执行方式

方式 A:使用内置脚本或打包的 CLI 工具

脚本(来自仓库):

node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com/article" [options]

打包 CLI(安装后执行 npm install -g felo-ai):支持相同选项,且允许简写形式:

felo web-fetch -u "https://example.com" [options]
# 简写形式:-u(url)、-f(format)、-t(timeout,单位秒)、-j(json)

选项说明:

参数默认值说明
--url(必填)要抓取的网页 URL
--formatmarkdown输出格式:htmltextmarkdown
--target-selector-CSS 选择器:仅抓取指定元素(如 article.main#content
--wait-for-selector-在抓取前等待指定选择器出现(适用于动态加载内容)
--readabilityfalse启用可读性处理(仅提取主内容)
--crawl-modefastfastfine
--timeout60000(脚本) / 60(CLI)请求超时时间:脚本使用 毫秒,CLI 使用 (例如 -t 90
--json / -jfalse以 JSON 格式输出完整 API 响应

如何编写指令(target_selector + output_format)

当用户希望获取页面的特定部分特定输出格式时,请按如下方式组织命令:

  • 输出格式:"以纯文本形式获取" / "获取Markdown" / "返回HTML" → 使用 --format text--format markdown--format html
  • 目标单一元素:"仅获取主文章" / "只取 #main 内的内容" / "仅抓取 article.main-content" → 使用 --target-selector "article.main" 或用户提供的选择器(如 #main.main-contentarticle .post)。

用户意图与对应命令示例:

用户意图命令
“将此页面作为纯文本获取”--url "..." --format text
“仅获取主内容区域”--url "..." --target-selector "main"article
“将 id 为 content 的 div 以 Markdown 形式获取”--url "..." --target-selector "#content" --format markdown
“仅获取文章主体部分,以 HTML 返回”--url "..." --target-selector "article .body" --format html

示例命令:

# 基础:以 Markdown 格式抓取
node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com"

# 文章风格,启用可读性处理
node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com/article" --readability --format markdown

# 原始 HTML
node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com" --format html --json

# 仅抓取匹配 CSS 选择器的元素(如主文章)
node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com" --target-selector "article.main" --format markdown

# 特定输出格式 + 目标选择器
node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com" --target-selector "#content" --format text

方式 B:通过 curl 调用 API

curl -X POST "https://openapi.felo.ai/v2/web/extract" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "output_format": "markdown", "with_readability": true}'

API 参考(概要)

  • 端点POST /v2/web/extract
  • 基础地址https://openapi.felo.ai。可通过 FELO_API_BASE 环境变量覆盖。
  • 认证方式Authorization: Bearer YOUR_API_KEY

请求体(JSON)

参数类型是否必填默认值说明
urlstring-要抓取的网页 URL
crawl_modestringfastfastfine
output_formatstringhtmlhtmltextmarkdown
with_readabilityboolean-启用可读性处理(提取主内容)
with_links_summaryboolean-包含链接摘要
with_images_summaryboolean-包含图片摘要
target_selectorstring-目标元素的 CSS 选择器
wait_for_selectorstring-在抓取前等待该选择器出现
timeoutinteger-超时时间(毫秒)
with_cachebooleantrue是否使用缓存

响应

成功(HTTP 200):

{
  "code": 0,
  "message": "success",
  "data": {
    "content": { ... }
  }
}

抓取内容位于 data.content,其结构取决于 output_format

错误码

HTTP 状态码错误码描述
400-参数校验失败
401INVALID_API_KEYAPI 密钥无效或已被撤销
500/502WEB_EXTRACT_FAILED抓取失败(服务器或页面错误)

输出格式

成功时(脚本未使用 --json):

  • 仅输出抓取到的内容(可用于直接使用或管道传递)。

使用 --json 时:

  • 输出完整的 API 响应,包含 codemessagedata

错误响应给用户的格式:

## 网页抓取失败

- 错误:`<code 或 message>`
- URL:`<请求的 URL>`
- 建议:`<例如检查 URL、重试或使用 --timeout>`

重要注意事项

  • 调用前请始终检查 FELO_API_KEY 是否存在;若缺失,返回设置说明。
  • 对于长文章或加载较慢的网站,可考虑使用 --timeout 参数或在请求体中设置 timeout
  • 使用 output_format: "markdown" 并开启 with_readability: true 以获取更清晰的文章内容。
  • API 可能会缓存结果;仅当需要最新内容时,在请求体中使用 with_cache: false(脚本默认不暴露此选项)。

参考资料

  • [Felo Web Extract API](https://openapi.felo.ai/docs/api-reference/v2/web-extract.html)
  • [Felo Open Platform](https://openapi.felo.ai/docs/)
W
@wangzhiming1999

已收录 5 个 Skill

相关推荐