Lightpanda:全新开源无头浏览器,用Zig从零编写,比Chrome快9倍内存少16倍

今天给大家介绍一款颠覆性的开源无头浏览器——Lightpanda。这是一款从零开始全新编写的无头浏览器,不基于Chromium也不基于WebKit,而是使用Zig语言开发,主打AI代理和自动化场景,性能远超传统浏览器。

项目介绍

Lightpanda是一款专为AI代理和自动化设计的全新无头浏览器。项目使用Zig语言从零编写,不依赖Chromium或WebKit,在性能和资源消耗上实现了质的飞跃。在GitHub上已获得超过28000颗星标,受到开发者社区的广泛关注。

特色功能

1. 极致性能
根据官方基准测试,在AWS EC2 m5.large实例上抓取933个真实网页:
内存占用(100页):Lightpanda仅123MB,Headless Chrome需要2GB,相差约16倍
执行时间(100页):Lightpanda仅5秒,Headless Chrome需要46秒,快约9倍

2. 全新架构
不是Chromium的分支,不是WebKit的补丁,而是从零用Zig编写的全新浏览器。Zig语言带来了更好的内存控制和更快的执行速度。

3. 多种使用方式
提供命令行工具(fetch命令)可直接获取网页
提供CDP(Chrome DevTools Protocol)服务器,可与Puppeteer无缝集成
提供Docker镜像,支持Linux amd64/arm64架构

4. Markdown输出
支持直接将网页转换为Markdown格式,方便后续处理和内容提取。

5. 丰富的等待策略
支持–wait-until、–wait-ms、–wait-selector和–wait-script等多种等待策略,满足复杂网页的抓取需求。

6. 遵循Robots协议
默认遵循robots.txt,可通过–obey-robots控制。

安装步骤

Linux安装(x86_64)

curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux && chmod a+x ./lightpanda

MacOS安装(aarch64)

curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-aarch64-macos && chmod a+x ./lightpanda

Docker安装

docker run -d –name lightpanda -p 127.0.0.1:9222:9222 lightpanda/browser:nightly

使用方法

方法一:命令行直接抓取

# 获取HTML
./lightpanda fetch –obey-robots –dump html –log-format pretty –log-level info https://example.com

# 获取Markdown
./lightpanda fetch –obey-robots –dump markdown –log-format pretty –log-level info https://example.com

# 等待特定元素后抓取
./lightpanda fetch –wait-selector “.content” –dump html https://example.com

方法二:Puppeteer集成

import puppeteer from ‘puppeteer-core’;

const browser = await puppeteer.connect({
browserWSEndpoint: “ws://127.0.0.1:9222”,
});

const context = await browser.createBrowserContext();
const page = await context.newPage();

await page.goto(‘https://example.com’, {waitUntil: “networkidle0”});

const links = await page.evaluate(() => {
return Array.from(document.querySelectorAll(‘a’)).map(row => row.getAttribute(‘href’));
});

console.log(links);

方法三:Docker作为CDP服务

# 启动CDP服务器
docker run -d –name lightpanda -p 127.0.0.1:9222:9222 lightpanda/browser:nightly serve –obey-robots

# 然后用Puppeteer连接ws://127.0.0.1:9222

适用场景

AI代理网页交互:为AI Agent提供快速、节省资源的网页浏览能力
大规模网页爬虫:抓取大量网页时显著节省内存和时间
自动化测试:快速执行UI自动化测试
内容提取:大规模内容采集和文本提取
无头浏览服务:作为服务端渲染或预渲染解决方案

开源协议

Lightpanda采用开源协议,具体协议类型请参考GitHub仓库。

GitHub仓库:https://github.com/lightpanda-io/browser
官网:https://lightpanda.io


服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容