ARTICLE DETAIL

资讯详情

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

Lightpanda 上手指南:从零拉起第一个页面抓取与 CDP 自动化

Lightpanda 上手指南:从零拉起第一个页面抓取与 CDP 自动化 Lightpanda 上手指南从零拉起第一个页面抓取与 CDP 自动化【免费下载链接】browserLightpanda: the headless browser designed for AI and automation项目地址: https://gitcode.com/GitHub_Trending/browser32/browserLightpanda 是一款用 Zig 从头写的无头浏览器不是 Chromium 的分支。它主要面向两类任务需要进程内驱动浏览器的 AI 代理以及需要低成本并行数百实例的大规模自动化抓取。官方基准里同一台机器加载 100 个页面它耗时 5 秒、峰值内存 123MB而 headless Chrome 是 46 秒和 2GB——这组数据全文只在这里给后文不再重复。什么情况下值得选它如果目标站点是 JS 驱动的——单页应用、无限加载、即时搜索——单纯的 HTTP 请求拿不到你要的内容。但在服务器上跑完整桌面浏览器又太贵图形渲染、窗口系统在无头场景里都是浪费Lightpanda 的取舍就是保留 JS 执行和 DOM 操作砍掉渲染引擎。典型场景有三类爬虫集群同一台机器并行上百个实例LLM 代理把浏览器当作操作工具自动化测试中快速验证前端行为三步把二进制装到机器上 按环境任选一种macOS 和 Linux 都有官方 nightly 构建brew install lightpanda-io/browser/lightpandaArch 用户可以用yay -S lightpanda-nightly-bin。容器化部署最省事直接起官方镜像并暴露 CDP 端口docker run -d --name lightpanda -p 127.0.0.1:9222:9222 lightpanda/browser:nightly装完先跑./lightpanda version确认二进制可用。注意这里有个小坑Linux 二进制链接的是 glibc在 Alpine 这类 musl 发行版上会报动态链接器找不到换 Debian、Ubuntu 这类 glibc 基础镜像即可。用 fetch 命令跑通第一个页面抓取 不用写任何脚本就能验证环境./lightpanda fetch --obey-robots --dump html --log-level info https://example.com跑通后你会先看到请求的状态码随后是页面最终的 HTML。--obey-robots表示遵循目标站点的 robots.txt做公开数据抓取时建议保留。--dump还可以换成markdown直接产出 Markdown或png、pdf纯文本渲染配合重定向落盘。页面有异步加载时用--wait-until、--wait-ms、--wait-selector控制抓取时机。三步拉起 CDP 端点让 Puppeteer 直连 自动化脚本走 CDP 服务器模式./lightpanda serve --host 127.0.0.1 --port 9222然后把 Puppeteer 客户端的browserWSEndpoint指到这个地址其余写法与连接普通浏览器无异import puppeteer from puppeteer-core; const browser await puppeteer.connect({ browserWSEndpoint: ws://127.0.0.1:9222, }); const ctx await browser.createBrowserContext(); const page await ctx.newPage(); await page.goto(https://example.com/, { waitUntil: networkidle0 }); console.log(await page.title()); await browser.disconnect();注意这里是 connect 而不是 launch——它连接远端 CDP 端点不在本地启动 Chrome。Windows 用户把浏览器放进 WSL2宿主机的客户端可以直接连 localhost:9222。让 AI 直接驱动浏览器agent 模式与 MCP 如果操作者不是脚本而是 LLM可以用内置的 agent 模式用自然语言下达任务它负责导航、点击、填表和提取结构化数据./lightpanda agent --task 总结这个站点今天的头条会话中执行/save会把操作导出成一份 PandaScript一段纯 JavaScript之后用lightpanda run session.js直接重放。重放不依赖模型适合用 LLM 做原型、生产环境交给脚本跑。多代理接入时用内置的 MCP 服务器stdio 方式给单个客户端用HTTP 方式用lightpanda mcp --port 9223每条连接路由到独立的浏览会话页面和 cookie 互不干扰。内部构成与质量保障代码按职责划分想阅读或扩展时可以从这几个目录入手src/browser/ 是 DOM、JS 运行时与 frame 管理src/cdp/ 实现 CDP 协议src/network/ 是基于 libcurl 的网络栈。质量保障分三层make test跑单元测试end2end 套件做端到端验证WPTWeb Platform Tests则按 Web 标准核对兼容性。项目目前是 Beta 状态CORS 仍在待办清单里遇到报错或崩溃属正常现象建议带上复现细节提 issue。动手前要知道的两个小坑遥测默认开启生产环境用环境变量一行关掉LIGHTPANDA_DISABLE_TELEMETRYtrue ./lightpanda serve另外再强调一次 Beta 的含义Web API 覆盖在持续增加个别站点会出错这不代表你的配置有问题先看官方特性清单里对应项的状态再排查。【免费下载链接】browserLightpanda: the headless browser designed for AI and automation项目地址: https://gitcode.com/GitHub_Trending/browser32/browser创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表