Web Fetch 是一个用于抓取和解析网页内容的技能,可从指定 URL 获取内容并进行处理。基础功能无需 API 密钥。
用途
该技能适用于以下场景:从 URL 获取内容、下载文件、提取文章正文、获取页面标题与描述、抓取网页数据。
以下场景不应使用该技能:交互式浏览器操作、需要认证的会话、JavaScript 重度渲染的单页应用(SPA),这些情况应改用 browser-tools。
主要能力与命令
抓取内容:
{baseDir}/fetch.sh "https://example.com" {baseDir}/fetch.sh "https://example.com" --markdown {baseDir}/fetch.sh "https://example.com" --json
提取文章:
{baseDir}/extract.sh "https://example.com/article" {baseDir}/extract.sh "https://example.com/article" --format markdown
下载文件:
{baseDir}/download.sh "https://example.com/file.pdf" --out /tmp/file.pdf {baseDir}/download.sh "https://example.com/archive.zip" --out /tmp/archive.zip
获取页面元数据:
{baseDir}/metadata.sh "https://example.com" {baseDir}/metadata.sh "https://example.com" --json
提取链接:
{baseDir}/links.sh "https://example.com" {baseDir}/links.sh "https://example.com" --filter "blog"
提取图片:
{baseDir}/images.sh "https://example.com" {baseDir}/images.sh "https://example.com" --download --out /tmp/images/
选项
--markdown:以 Markdown 输出 --json:以 JSON 输出 --text:纯文本输出 --timeout N:超时时间(秒),默认 30 --user-agent:自定义 User-Agent --out <path>:输出文件路径
输出格式
纯文本:从 HTML 中提取可见文本,清除脚本和样式。 Markdown:将 HTML 转换为格式正确的 Markdown。 JSON:结构化输出,包含标题、内容、元数据。
使用示例
获取文章内容:
{baseDir}/extract.sh "https://example.com/blog/post" --markdown
下载页面中所有 PDF:
{baseDir}/links.sh "https://example.com" --filter ".pdf" | xargs -I {} download.sh "{}"
获取页面元数据:
{baseDir}/metadata.sh "https://example.com" --json
输出:{"title": "...", "description": "...", "og:image": "..."}
限制与注意事项
默认遵守 robots.txt。 默认限速:每秒 1 次请求。 可使用 --user-agent 设置自定义 User-Agent。 对于 JavaScript 重度渲染的页面,应改用 browser-tools。