• 正文
  • 相关推荐
申请入驻 产业图谱

BrowserAct 实测教程:解决 AI Agent 网页抓取、反爬、登录卡死问题

08/13 08:33
449
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

原标题:面试官皱眉:“Claude Code 一碰网页任务就歇菜?”我笑了:“等我装个 BrowserAct Skill ,直接起飞!”

大家好,我是小林。

我也经常会让 AI 帮我处理一些网页任务,比如读文章、搜资料、跑一些自动化任务。

听起来都不复杂,可真把任务交给 Agent,要么卡在登录,要么拿不到网页内容。再碰上反爬、验证码和页面变化,折腾半天,还是干不成。

周末和朋友吃饭的时候,我顺口吐槽了这件事。他听完后,给我推荐了一个叫 BrowserAct 的工具,说它专门解决 Agent 跟真实网页打交道的问题。

我回来查了一下,BrowserAct 的开源 Skills 项目目前在 GitHub 上已经拿到 5.3k Star。

GitHub 仓库:https://github.com/browser-act/skills

简单来说,BrowserAct 是一个给 AI Agent 用的浏览器自动化工具。它可以直接读取网页,也能进入真实浏览器操作。碰到登录、反爬或者页面变化时,Agent 还能继续往下处理。

我看了一下,大部分能力都可以免费使用。

那工具到底好不好用呢?我决定在自己的 Claude Code 里实测一遍。

安装方式很简单,我给 Claude Code 发了下面这句话就装好了:

帮我安装 BrowserAct Skills:https://github.com/browser-act/skills/tree/main/browser-act

装完之后,就直接开始实测。

能爬公众号文章吗?

我先从一个看起来最简单的任务开始:读微信公众号文章。

任务很简单:整理 4 篇微信公众号文章,提取标题、作者、发布时间、正文和文末推荐阅读链接。链接都已经有了,我本来觉得 Web Fetch 就够了,于是先在 Claude Code 里跑了一篇。

结果第一篇就卡住了。Web Fetch 直接提示无法读取文章,我当时就有点懵。

▲ Web Fetch 无法读取微信公众号文章

我把同一个任务交给 BrowserAct,又跑了一遍。

●  ●  ●

browser-act stealth-extract "https://mp.weixin.qq.com/s/7wkfAeMrsnrmVVGYAvyBjA" --content-type markdown 
browser-act stealth-extract "https://mp.weixin.qq.com/s/EEr4ErhWHwcs57-xgSC7uQ" --content-type markdown 
browser-act stealth-extract "https://mp.weixin.qq.com/s/gxAd1uTcawK3z3SejehupA" --content-type markdown 
browser-act stealth-extract "https://mp.weixin.qq.com/s/UvlCP7iH2ZCcC5kuDWuE3A" --content-type markdown

这次 stealth-extract 一跑,标题、作者、时间和正文都出来了。

▲ BrowserAct 并行提取微信公众号文章

4 个链接同时跑完后,Agent 又把每篇文章的提取结果分别整理了出来。

▲ 微信公众号文章提取结果

很多网页不是把链接丢给抓取工具就能直接拿到干净正文,公众号就是一个例子。即使抓到了 HTML,里面的渲染内容、图片和各种嵌入信息也得再清洗。

BrowserAct 这次返回的是整理后的正文,Agent 拿到后可以直接继续处理。

这里有个细节我挺喜欢。任务只是读正文,它就先用轻量方式处理,没急着启动完整浏览器、写 selector、扫 DOM。能轻一点就轻一点,真拿不到,再换下一种办法。

能搜微信公众号文章吗?

前面有现成链接,直接用 stealth-extract 就能读。

可更多时候,我们手里只有一个关键词。文章要去哪找、哪些符合条件、最后怎么整理,都得交给 Agent。于是我又换了个任务:

用 BrowserAct 去微信搜索「Claude Code Skill」相关的文章,找最近几篇,把标题、作者和正文整理出来。

Agent 调用 BrowserAct Skill,找到我之前创建好的 wechat-search 浏览器,打开微信文章搜索页,输入「Claude Code Skill」,再按发布时间筛出了最近的 4 篇文章。

▲ BrowserAct 并行处理多篇微信文章

我本来以为它会一篇篇打开,再一篇篇提取。结果 BrowserAct 同时开了多个窗口,4 篇文章一起处理。

不过看到 4 个窗口同时跑,我还有点担心:处理着处理着,会不会把几篇文章串到一起?

实际跑下来,每篇文章都有自己独立的 Session,页面状态互不干扰。登录信息这些长期状态,则保留在浏览器身份里复用。最后,4 篇文章都搜到了,标题、作者和正文也顺利提取了出来。

碰上反爬,还能继续吗?

真实网页还有一块更难啃的骨头:反爬。

Amazon 的反自动化机制出了名的严格。浏览器环境一旦被识别出异常,直接就会返回验证页面,连门都进不去。

所以我又给 Claude Code 发了一个任务:

帮我用 BrowserAct 创建一个 Stealth 浏览器打开 Amazon,搜索「wireless keyboard」,整理搜索结果前 10 个商品的商品名、价格、评分、评论数和商品链接,最后用 Markdown 表格输出。

任务刚开始,它没有直接打开 Amazon,而是先问我要不要使用美国动态代理。因为 Amazon 会根据 IP 所在地区返回不同的商品和价格,所以这一步得先确认清楚。

简单理解,代理决定从哪里访问,Stealth 浏览器则尽量减少自动化环境的明显特征。确认好方案以后,它才开始搜索商品。

▲ Agent 推荐为 Amazon 任务启用动态代理

后面还有个小插曲。

Agent 第一次读取商品信息时,发现页面内容太大,于是改用 JavaScript 直接提取商品卡片。结果部分字段是空的,它又回头检查真实 DOM,调整选择器,再重新提取。

我当时盯着屏幕,心想:这次总该停了吧?

但 Agent 没停。

▲ Agent 检查 Amazon 页面结构并调整提取方式

等它把选择器重新调好,第二次提取的结果就正常了。

▲ Amazon 商品信息提取结果

前 10 个商品的名称、价格、评分、评论数和链接都被整理成了 Markdown 表格。

刚才看着像要失败的任务,就这么跑完了,确实有点东西。

碰上登录,还能继续吗?

最后我又测了一个绕不开的场景:登录。毕竟不少后台不登录,Agent 连页面都进不去。

于是我让 Claude Code 打开小红书创作服务平台,查看我最近 7 天的笔记数据。

使用 BrowserAct 打开小红书创作服务平台,查看我最近 7 天的笔记数据。

页面打开后,果然停在了登录页。扫码这件事只能我自己来,我更想看的是:等我登录完成以后,Agent 能不能从刚才停下的地方继续。

BrowserAct 没有结束任务。Agent 调用 remote-assist 生成了一个临时接管链接,我打开链接,就能接管它正在使用的浏览器,自己完成扫码登录。

▲ BrowserAct 生成 remote-assist 临时接管链接

扫码完成后,我只回复了一句「已完成」。Agent 就从刚才停下的地方继续往下跑,顺利进入创作后台,把最近 7 天的笔记数据整理了出来。

整个过程中,我接手的只有扫码这一步。登录完成后,原来的页面和 Session 都还在,前面的流程不用重新再跑一遍。

写在最后

看到这里,可能有同学会问:前面这些读取网页、处理登录的任务,Playwright 不是也能做吗?它同样能打开网页、点击、登录和抓取数据,BrowserAct 有什么不一样?

我实际用下来,两者的使用方式还真不太一样。

Playwright 更适合开发者先把操作路线写清楚,再让脚本一步步执行。

BrowserAct 面向的是 Agent。它会根据当前页面判断下一步该怎么走:能直接提取就直接提取,读不到就打开浏览器,页面变了再重新判断,需要登录时再让我临时接手。

前面几个任务跑下来,这种区别就更直观了。

读公众号时,它先直接提取内容;碰到 Amazon 反爬,再用 Stealth 浏览器和动态代理;多个任务一起跑时,用 Session 隔开;遇到必须登录的页面,再用 remote-assist 让我临时接手。

最后,前面几个我原本以为会卡住的任务,也都跑完了。

BrowserAct Skill,确实值得安利一下。

官网地址:https://www.browseract.ai

GitHub 仓库:https://github.com/browser-act/skills/tree/main/browser-act

相关推荐