webframe: evaluated as a scraper and a sandbox
TL;DR · AI 摘要
webframe 是一个轻量级浏览器-JavaScript运行器,抓取性能接近 shot-scraper 但存在视口、CSP等缺陷,适合特定场景使用。
核心要点
- webframe 使用 Go 和 glaze 库实现,无需内置浏览器引擎
- 性能与 shot-scraper 相当但存在 0×0 视口等 5 大缺陷
- Claude Opus 5.5 测试显示其适合简单抓取但不适合作为通用沙箱
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- webframe 评估
- 技术特性
- Go 实现
- 系统浏览器内核
- 性能表现
- shot-scraper 对比
- 轻量级优势
- 缺陷分析
- CSP 失败
- 0×0 视口
- HTTP 元数据缺失
金句 / Highlights
值得收藏与分享的关键句。
webframe 使用系统浏览器内核(WKWebView/WebKitGTK/WebView2)避免捆绑浏览器引擎
测试显示其抓取性能与 shot-scraper 相当但存在 5 个关键缺陷
Claude Opus 5.5 测试建议其适用于简单抓取但不适合作为通用沙箱
研究:webframe 作为爬虫和沙箱的评估
Simon Willison 的博客
通讯
#smallhead
由以下公司赞助:
WorkOS Airlock — 用于 AI 代理的意图驱动访问控制。
申请早期访问权限
2026年10月26日
研究
webframe:作为爬虫和沙箱的评估
— 对 webframe 的评估发现它是一个快速、轻量的浏览器-JavaScript 运行器,适合用于爬虫,性能可与 shot-scraper 相媲美,但存在一些重要缺陷,包括内容安全策略(CSP)失败、0×0 视口、加载卡顿、缺少 HTTP 元数据以及有限的浏览器控制功能。
webframe 是 Jeff Lindsay 开发的一个精巧项目,它允许你“像运行程序一样运行网页”——你只需指向一个 URL 或文件,它就会在一个隐藏的无头浏览器视图中执行该页面,并将 console.log() 输出到标准输出,将异常输出到标准错误。
它是用 Go 语言编写,基于 glaze 库,该库提供了对系统浏览器的访问(“macOS 上的 WKWebView,Linux 上的 WebKitGTK,Windows 上的 WebView2”),因此无需捆绑自己的浏览器引擎。
这让我想起了我自己的 shot-scraper JavaScript 工具,尽管 webframe 的体积要小得多,且不依赖 Playwright。
我让 Claude Opus 5.5 对其进行了测试并准备了一份研究报告。这是我使用的提示语:
探索 https://github.com/tractordev/webframe,尝试运行它并对其进行测试,构建几个探索性原型,然后根据 "shot-scraper JavaScript" 命令所鼓励的模式(参见 GitHub 上的 simonw/shot-scraper 项目,文档目录)评估其作为沙箱工具和网页爬虫工具的潜力。
发布于
下午4:15
最新文章
- 《Battle Drones》——一款基于音频多人联机的节奏策略游戏 —— 2026年10月20日
- 你好 Python 3.15,再见 Python 3.10,现在我可以使用 Python 3.11 了 —— 2026年10月12日
- 我的博客新增了一个语音驱动的功能 —— 2026年10月9日
- Claude Haiku 5.5 —— 2026年10月7日
#primary
这是 Simon Willison 的一篇作品,发布于 2026年10月26日。
浏览器
108
Go
54
JavaScript
769
Jeff Lindsay
4
shot-scraper
72
月度简报
每月赞助10美元,即可获得本月最重要的LLM进展精选电子邮件摘要。
支付我以减少你的邮件!
赞助并订阅
.metabox
#secondary
#wrapper
- 披露信息
- 制作信息
- ©
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026