Jina Web Fetch 是一个用于从难以抓取的页面中捕获内容的技能,其核心设计是保持确定性的抓取流程:先尝试直接抓取;如果直接抓取失败或看起来被拦截,则通过 jina.ai 重试。
用途 该技能面向需要稳定获取网页文本内容的场景,尤其是直接请求可能被登录墙、JavaScript 渲染依赖、反爬或验证码拦截的页面。
主要能力
- 直接抓取优先:优先使用普通 HTTP 请求获取目标 URL 内容。
- 自动回退:当直接内容呈现以下特征时,脚本自动回退到 jina.ai:登录墙/注册提示、需要 JS 的页面、反爬/验证码/访问被拒页面、非常小的类 shell 型 HTML 页面(默认阈值小于 800 字节)。
- 来源标记:脚本会向 stderr 打印 source=direct 或 source=jina,便于确认实际使用的抓取路径。
- 灵活输出:可指定输出文件,若省略 output_file,内容将打印到 stdout。
使用方式 快速开始命令: bash "<path-to-skill>/scripts/fetch_with_jina_fallback.sh" "<url>" "<output_file>"
示例:
bash "<path-to-skill>/scripts/fetch_with_jina_fallback.sh"
"https://x.com/trq212/status/2027463795355095314"
"raw/x-status.txt"
推荐工作流:
- 用目标 URL 运行脚本。
- 将原始输出保存到可追溯路径,例如 raw/<slug>.txt。
- 对提取出的文本或 markdown 进行解析,包括:正文主体、媒体链接(图片/视频)、引用的 URL。
- 将原始 URL 与原始抓取内容保存在一起,以便审计。
环境变量
- FETCH_TIMEOUT(默认 25)
- FETCH_CONNECT_TIMEOUT(默认 10)
- FETCH_MIN_BYTES(默认 800)
- JINA_FORCE=1 可跳过直接抓取,始终使用 jina.ai
URL 格式说明 回退 URL 构建为: https://r.jina.ai/http://<original-host-and-path>
适用场景 适用于抓取可能被登录、JS 或反爬机制阻断的网页文本,并需要可复现、可审计抓取过程的场合。
限制 资料未提供关于收费、价格、平台支持范围、抓取成功率或速度保证的说明;实际可用性取决于目标站点与网络环境,暂未提供更多限制信息。