网页爬取与搜索
AnyCrawl A
Lightpanda是一款专为速度和低资源占用优化的无头浏览器,通过CDP(Chrome DevTools Protocol)端点与标准自动化库对接。无需图形渲染,适合数据提取和网页自动化任务。
传统浏览器自动化资源消耗高、启动慢,大规模数据采集成本居高不下。Lightpanda以无头模式运行,剔除图形渲染开销,在同等硬件条件下可并行处理更多任务,显著降低服务器成本,同时兼容主流自动化框架,无需重构现有脚本。
落地案例:一家市场情报公司需每日抓取数百个动态网站的价格信息,原Chrome方案内存占用过高导致频繁扩容。切换至Lightpanda后,通过Playwright发送CDP命令执行JavaScript渲染,配合多进程架构并行采集,单台服务器即可承载原有集群的工作量,且完美支持React构建的单页应用数据提取。
安装步骤:
bash scripts/install.sh
仅支持Linux和macOS,Windows不可用。二进制为每日构建版本,如遇崩溃可重新运行安装脚本更新(每天最多一次)。
启动服务:
$HOME/.local/bin/lightpanda serve --host 127.0.0.1 --port 9222
可选参数:--log_level info|debug|warn|error 设置日志级别;--log_format pretty|json 设置输出格式。
连接方式:
ws://127.0.0.1:9222http://127.0.0.1:9222/json/version代码示例(playwright-core):
const { chromium } = require('playwright-core');
const browser = await chromium.connectOverCDP({
endpointURL: 'ws://127.0.0.1:9222',
});
const context = await browser.newContext({});
const page = await context.newPage();
await page.goto('https://example.com');
代码示例(puppeteer-core):
const puppeteer = require('puppeteer-core');
const browser = await puppeteer.connect({
browserWSEndpoint: 'ws://127.0.0.1:9222'
});
const context = await browser.createBrowserContext();
const page = await context.newPage();
见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | 目标URL;CDP命令或Playwright/Puppeteer脚本;端口号(可选,默认9222);日志级别与格式参数(可选) |
| 输出 | 网页HTML内容;页面标题;文本内容提取结果;CDP响应数据 |
| 适用人群 | 需要快速启动的低资源自动化场景;动态网站和SPA数据抓取;多进程并行网页任务;无法使用内置搜索时的替代方案 |
| 不包含 | 图形界面渲染;Windows系统支持;多标签页单进程管理;Google搜索直接访问 |
原始链接:https://github.com/openclaw/skills/tree/main/skills/krichprollsch/lightpanda-browser/SKILL.md
来源类型:GitHub仓库