十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Stagehand AI 浏览器自动化实战:一个脚本跑通网页数据采集全流程

Stagehand AI 浏览器自动化实战:一个脚本跑通网页数据采集全流程 Stagehand AI 浏览器自动化实战一个脚本跑通网页数据采集全流程【免费下载链接】stagehandThe SDK For Browser Agents项目地址: https://gitcode.com/GitHub_Trending/stag/stagehandStagehand 是一个 AI 浏览器自动化 SDK用 act、extract、observe 三个原语驱动浏览器让你不写选择器就能完成点击、填表和抓取。本文用本地浏览器搭一条完整的网页数据采集链路打开列表页观察可操作元素点击进入详情页最后把结构化数据提取出来。 场景从电商页采集商品数据假设你需要从一个商品列表页批量抓取商品名和价格再交给下游程序处理。手写选择器很脆弱站点一改版脚本就失效。用 Stagehand 的 AI 浏览器自动化你只用自然语言描述意图元素定位交给模型。跟完下面几步你会得到一个在本机跑通的自动化脚本。 动手准备3 条命令装好 Stagehand本地运行需要 Node.js 22.18 和已安装的 Chrome。初始化项目并安装 SDKmkdir my-stagehand-app cd my-stagehand-app pnpm init -y pnpm install browserbasehq/stagehand zod 分步实现1. 启动本地浏览器并创建实例先用localBrowser在本机启动一个 Chrome再把它交给Stagehand.create()。开发阶段用headless: false你能直接看到浏览器每一步动作方便排查import { localBrowser, Stagehand } from browserbasehq/stagehand; import { z } from zod/v4; const browser await localBrowser.launch({ headless: false }); const stagehand await Stagehand.create({ browser }); const [page] await browser.context.pages(); await page.goto(https://example-store.com);2. 用 observe 预览页面上能做什么动手前先侦查observe返回当前页面上可执行的操作列表。返回的Action对象之后可以直接回放不再触发模型推理这是 Stagehand 省钱提速的核心模式const { data: actions } await stagehand.observe(Find all product links); console.log(actions.map((a) a.actionDescription)); // 侦查满意后执行第一个动作 await stagehand.act(click the first product link);3. extract 提取结构化数据进入详情页后用extract配 Zod schema 取值。Stagehand 会先按 schema 校验再返回你拿到的是强类型数据直接落盘或写入数据库const { data } await stagehand.extract( extract the product name and price, z.object({ name: z.string(), price: z.number() }), ); console.log(data); // { name: Keyboard, price: 199 } 调优进阶成本与速度问题每步都走大模型慢且贵。手段默认挂便宜模型只在关键提取调用上换强模型单次调用即可覆盖。问题重复运行任务时重复计费。手段切到 Browserbase 云浏览器并开启缓存相同调用直接返回缓存结果不消耗任何 token。const stagehand await Stagehand.create({ browser, // 换成 browserbase.launch({ apiKey }) 得到 model: { modelName: google/gemini-2.5-flash }, // 默认用便宜模型 cache: { threshold: 1 }, // 一次相同结果后开始命中缓存 });❓ 常见问题缓存为什么一直不命中本地浏览器没有缓存服务cache选项不生效必须用browserbase.launch()启动。另外指令措辞是缓存键的一部分换同义词就会变成新键。act 点错元素怎么办先用observe确认页面实际内容再给调用传locator把快照范围收敛到你关心的容器减少无关干扰。支持 Python 和 Go 吗支持。三个原语语义与 TypeScript 版一致分别用 Pydantic 模型和 Go 结构体替代 Zod schemaAPI key 也换成对应语言的 launch 参数传递。 延伸阅读快速上手packages/docs/v4/first-steps/quickstart.mdxact 完整参考packages/docs/v4/basics/act.mdxobserve 完整参考packages/docs/v4/basics/observe.mdx缓存最佳实践packages/docs/v4/best-practices/caching.mdxSDK 核心源码packages/sdk-ts/src/stagehand.ts【免费下载链接】stagehandThe SDK For Browser Agents项目地址: https://gitcode.com/GitHub_Trending/stag/stagehand创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表