@framers/agentos-ext-web-scraper

中文文档
0.1.5发布于 2026/11/11Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 2万

智能网络刮去后退、代理旋转和LLM提取

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 配置
  4. 工具
  5. web_scrape
  6. web_scrape_recipe
  7. 页:1
  8. 许可证

网络刮取器

这个包提供了代理页刮取,结构化取出并被命名为YAML食谱工具. 用这个 fetch选项 playwright-core 浏览器倒置, 一个 regex 选择引擎和 yaml 食谱加载.

安装

npm install @framers/agentos-ext-web-scraper

同伴依赖 : @framers/agentos 有范围 >=0.10.40。 。 。 .

使用量

import { AgentOS } from '@framers/agentos';

const agentos = await AgentOS.create({
  extensionManifest: {
    packs: [
      {
        package: '@framers/agentos-ext-web-scraper',
        options: {
          proxyUrl: process.env.WEB_SCRAPER_PROXY_URL,
          proxyList: process.env.WEB_SCRAPER_PROXY_LIST,
        },
      },
    ],
  },
});

配置

选项秘密编号环境变量需求默认
proxyUrlscraper.proxyUrlWEB_SCRAPER_PROXY_URL没有未设置
proxyListscraper.proxyListWEB_SCRAPER_PROXY_LIST没有未设置
minDelayMs无无没有500 分钟
maxDelayMs无无没有2000 分钟
priority无无没有50; falsy 值也使用此默认值
A. 背景情况 logger无无没有未设置

代理设置从真伪选项解析, 然后 context.getSecret然后是环境. proxyList 接受逗号分隔字符串或字符串数组,并优先于 proxyUrl。服务通过列表旋转;按请求旋转 options.proxy 超过它. logger.info 接收激活和停用消息.

工具

工具它会做什么
web_scrape打印一个页面并返回基于选择器的数据或原始的 HTML 和通过渐进倒置清除文本.
web_scrape_recipe使用参数和前结果插值运行一个命名的刮取步骤序列.

web_scrape

参数类型需求说明
url字符串对完全合格的 URL 要刮去( 必须从 http:// 或 https:// 开始) .
extract对象没有可选提取配置. 使用 fields 用于单一记录提取,或 list + 键 listFields 用于重复项提取.
extract.fields有字符串值的对象没有输出字段名映射到类似 CSS 的选择器 。 附录 @attr 以提取属性值而不是文本内容.
extract.list字符串没有列表视图中重复容器元素的选择器.
extract.listFields有字符串值的对象没有相对于每个项目的字段选择器 list 集装箱匹配.
options对象没有可选的按要求刮切设置 .
options.tier最小整数 1最大值 4没有开始刮出分级( E)1: 获取, 2剧作家, 3隐形, 4: LLM倒计时.
options.maxTier最小整数 1最大值 4没有服务升级至( 默认) 最高一级 4) (中文(简体) ).
options.proxy字符串没有此请求的 HTTP/ SOCKS5 代理 URL .
options.headers有字符串值的对象没有包含额外的 HTTP 信头 .
options.waitFor字符串没有CSS选择器在取出前等待(二级及以上仅限).
options.timeout最小整数 1000没有按毫秒计的请求超时( 默认) 30000) (中文(简体) ).
options.javascript布尔没有如果页面需要 JS 渲染, 设置为真( 滑至二级) .

web_scrape_recipe

参数类型需求说明
recipe字符串对执行的食谱名称(例如, generic-article, (中文(简体) ), letterboxd-movie) (中文(简体) ).
params有字符串值的对象对食谱的运行时参数值 。 密钥必须匹配在食谱定义中声明的参数名.

页:1

两个工具都声明 capability:web_scrape。服务尝试 plain 获取, 无头的 Playwright, 隐形 Playwright, 然后是文本缩放 . javascript: true 除非 maxTier 盖取下. 缓存成功级可提升起步级. 获取请求和浏览器导航或选择器等待默认 30000 每次操作的毫秒,而不是总的最后期限.

浏览器后退动态导入 playwright-core 发射铬 如果导入或发射失败,服务会继续到下一个允许的级别. playwright-core 未在软件包的依赖性中列出。 代理被传递到 Playwright 启动选项; 获取路径不应用 。 每个浏览器在之后尝试关闭其浏览器.

文本倒置拒绝内容短于 200 字符和已识别的 Cloudflare 挑战页。 与 extract,它返回文本和 _llmExtractionRequired: true; 调用运行时间进行 LLM 提取 。 浏览器路径也拒绝公认的挑战页面. Plain fatch 接受成功的 HTTP 响应而不进行此挑战检查 。 所有允许的级别返回失败 success: false 和一个错误消息.

提取支持 tag, (中文(简体) ), .class, (中文(简体) ), #id, (中文(简体) ), tag.class (单位:千美元) @attr 后缀。 它使用 regex 匹配而不是一个完整的 CSS 解析器. 未支持或未匹配的字段选择器返回空字符串 。 空取结果不会引发回升.

速率限制使用随机延迟 minDelayMs 财务报告和审定财务报表 maxDelayMs 重复请求一个域。 每个域成功分级缓存 30 分钟,最多 500 条目.

从软件包中装入 YAML 配方 recipes/ 目录,然后 ~/.wunderland/scraper-recipes/; 用户配方覆盖匹配名称。 捆绑的食谱名称是 generic-article 财务报告和审定财务报表 letterboxd-movie。引擎查找已装入的名称,而不装入所提供路径 recipe。缺少的食谱返回一个错误。 无效的食谱文件生成控制台警告并跳过 .

管道步骤依次运行并插入 {{paramName}}, (中文(简体) ), {{steps.stepName.data.field}} 财务报告和审定财务报表 {{steps.stepName.items[N].field}} 在 URL 和选择器中。 参数前缀 = 在配方中存在默认值; 缺失的值会变成空字符串。 内插不 URL 编码值 。 步骤失败 停止执行并返回部分数据 。 一个步骤 options.maxItems 上限列表结果 。 被捆绑的Letterboxd配方使用由regex提取引擎不执行的后裔选择器.

许可证

阿帕奇 - 2.0

版本与发布记录

@framers/agentos-ext-web-scraper 共发布 6 个版本,首次发布于 2026/05/02;过去 12 个月发布了 6 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.5latest2026/11/114 天前
0.1.42026/10/2125 天前
0.1.32026/10/121 个月前
0.1.22026/10/111 个月前
0.1.12026/10/081 个月前
0.1.02026/05/026 个月前

关于 @framers/agentos-ext-web-scraper 的常见问题

@framers/agentos-ext-web-scraper 是什么?

智能网络刮去后退、代理旋转和LLM提取

如何安装 @framers/agentos-ext-web-scraper?

在项目目录运行 npm install @framers/agentos-ext-web-scraper,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@framers/agentos(>=0.10.40)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@framers/agentos-ext-web-scraper 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@framers/agentos-ext-web-scraper 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@framers/agentos-ext-web-scraper 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@framers/agentos-ext-web-scraper 可以商用吗?

@framers/agentos-ext-web-scraper 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@framers/agentos-ext-web-scraper 的下载量有多少?

根据 npm 官方下载统计,@framers/agentos-ext-web-scraper 在 2026/10/16 – 2026/11/14 这 30 天内被下载 20,224 次,日均约 674 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@framers/agentos-ext-web-scraper 还在维护吗?

最新版本 0.1.5 发布于 2026/11/11(4 天前);至今共发布 6 个版本,其中过去 12 个月发布了 6 个;首次发布于 2026/05/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。