diff --git a/index.html b/index.html index c95bb6f..476af88 100644 --- a/index.html +++ b/index.html @@ -249,6 +249,7 @@ footer a:hover{text-decoration:underline} MCP 构建 限制 + 实战用法 ★
前面 12 段讲"它是什么、怎么实现"。这一段讲"你该不该用、怎么组合"。技术解析的闭环。
++ Lightpanda 不是给你用的,是给你的脚本用的。 + 就像你不会直接打开 MySQL,你写代码去查 MySQL——Lightpanda 也一样,你写代码让它去"读"网页。 + 你平时上网继续用 Chrome;写脚本批量抓 1000 个页面——用 Lightpanda。 +
+| 你用 Chrome | 脚本用 Lightpanda | |
|---|---|---|
| 谁在操作 | 人(鼠标点击) | 代码(goto/click/eval) |
| 目的 | 看、购物、娱乐 | 提取数据 / 监控 / 自动化 |
| 速度 | 人速 | 每秒几十页 |
| 规模 | 1 个页面 | 1000 个页面 |
| 产出 | 脑子里的记忆 | JSON / CSV / 数据库 |
| 界面 | 有窗口看得到 | 完全无 UI,看不到渲染 |
不索引互联网。你给一个 URL,它只处理这一个页面。想搜索得先有 URL 列表。
+默认不存任何文件,结果流到 stdout。要留下必须自己重定向到文件或写数据库。
+它是"批量读网页 → 提取结构化数据"。保存的不是 HTML 本身,是从 HTML 里挖出来的字段。
+| 场景 | 能不能用 | 备注 |
|---|---|---|
| 新闻 / 博客 / Wiki | ✅ 完美 | 纯文字,token 友好 Markdown |
| API 文档、技术站 | ✅ 完美 | 结构化强 |
| 论坛(HN / Reddit / V2EX) | ✅ 完美 | 纯文字内容 |
| SPA 后台管理系统 | ✅ 大多行 | DOM 驱动,需要配合登录态 |
| 企业官网 / SaaS 介绍页 | 🟡 部分 | 标题在文字,卖点常在海报 |
| 电商商品详情页 | ❌ 瞎 | 规格、材质、使用说明全在长图 |
| 小红书 / Instagram | ❌ 瞎 | 核心信息载体是图文笔记 |
| PDF-as-webpage | ❌ 瞎 | 很多文档站把 PDF 转成图嵌入 |
| 视频站 | ❌ | 视频内容根本不是 DOM |
<img src="xxx.jpg"> 的 URL,但不下载图片字节、不做 OCR、不做视觉理解。
+ 这是设计取舍——为了 11× 速度砍掉的能力,不是 bug。
+ + 单 Lightpanda 覆盖 60% 的场景,剩下 40%(中文电商、小红书、海报站)必须靠视觉大模型(VLM)补。 + 分层调度后,总成本比 "真 Chrome + 整页截图 + VLM" 便宜 5-10 倍。 +
+ +<img src> URL,你精确挑要看的图交给 VLM。
+ ssh root@VPS '/opt/lightpanda/lightpanda fetch \
+ --dump markdown \
+ --wait-until networkidle \
+ --wait-ms 3000 \
+ https://目标站.com'
+ 适合:一次性抓一个 URL,把结果直接喂给 LLM 做摘要/问答
+ssh root@VPS '/opt/lightpanda/lightpanda fetch \
+ --dump html \
+ --wait-until networkidle \
+ --wait-ms 5000 \
+ --with-base \
+ https://目标站.com'
+
+ 适合:要图片 URL 列表、要页面所有内容。注意:--dump markdown 会省略 hero/图片区块,
+ 想拿到产品主推文案必须用 html 自己 parse。
+
# 本机开 SSH 隧道
+ssh -N -L 9222:127.0.0.1:9222 root@VPS
+
+# 另一个终端跑 Python(Playwright connectOverCDP)
+browser = await p.chromium.connect_over_cdp("http://127.0.0.1:9222")
+context = await browser.new_context()
+await context.add_cookies(cookies) # 从本机 Chrome 导的登录态
+page = await context.new_page()
+await page.goto("https://后台.com/订单")
+data = await page.eval_on_selector_all("...", "...")
+ 适合:需要保持登录态的后台管理系统、多步表单交互、抓取分页列表
+默认 --wait-until=done,SPA 内容可能还没渲染就 dump 了。
解法:重页面加 --wait-until networkidle --wait-ms 3000。
+ Apple 首页就是这样才拿到 hero 主推产品。
--dump markdown 是"语义精简"模式,会跳过图片为主的 hero 区块、产品卡片。
解法:想拿到所有内容用 --dump html,自己写 parser 提取 H2/H3/class。
默认 UA 是 Lightpanda/1.0,很容易被反爬识别封 IP。
解法:加 --user-agent-suffix 或自建 UA。注意代码禁止含 "Mozilla" 的伪装 UA。