news 2026/10/3 17:06:28

Moli fetch参数全解:8种方式把网页变成Markdown、语义树与JSON的实用清单

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Moli fetch参数全解:8种方式把网页变成Markdown、语义树与JSON的实用清单

Moli fetch参数全解:8种方式把网页变成Markdown、语义树与JSON的实用清单

【免费下载链接】moliBest headless browser for AI agents. Lite, Fast, High-Compatibility. Built in Rust项目地址: https://gitcode.com/gh_mirrors/moli/moli

Moli 是一款用 Rust 构建的无头浏览器,专为 AI Agent 设计。它的moli fetch命令是日常抓取的入口:一条命令即可把网页转换成Markdown、语义树、JSON、HTML、截图或 PDF八种形态,并内置了选择器等待、脚本等待、响应等待等完整的"页面就绪"参数。本文用一份实用清单,带你快速掌握 Moli fetch 参数的全部用法。

一、8 种输出格式速查表(--dump)

--dump决定抓取结果"长什么样",是 Moli fetch 最核心的参数。8 种取值(含常用别名)如下:

场景参数说明
📝 阅读正文--dump markdown(别名md)把页面渲染成干净的 Markdown,最常用
🌲 结构优先--dump semantic_tree_text(别名semtree_text)紧凑的无障碍语义树文本,噪声少、省 Token
🌿 结构化处理--dump semantic_tree(别名semtree)面向无障碍的 JSON 结构树,供程序解析
🧾 程序消费--dump json返回final_url、status、title、headers、redirect_chain、html等字段
🔍 精确排查--dump html输出序列化后的完整 DOM,适合诊断
🖼️ 视口截图--dump screenshot(需--layout)输出视口 PNG 到 stdout
📄 整页截图--dump screenshot_full(需--layout)输出一张完整文档 PNG
📑 分页文档--dump pdf(需--layout)输出分页 PDF

三种视觉输出都必须搭配--layout开启按需布局,并且要把 stdout 重定向到文件,例如:

moli fetch --layout --dump screenshot https://example.com > page.png moli fetch --layout --dump pdf https://example.com > page.pdf

💡 如果不写--dump,Moli 会把可渲染的 HTML 文档序列化输出;对 PDF、视频这类原始响应则逐字节原样写出。

二、页面就绪参数(--wait):动态页面不抓空的秘诀

JS 渲染页面最头疼的是"抓早了"。Moli 提供五档生命周期等待和四类细粒度等待:

五档--wait-until(默认done):

  • domcontentloaded/load:对应标准浏览器生命周期事件;
  • networkidle:网络安静后再抓,适合 API 驱动页面(轮询、流式页面慎用);
  • domstable:DOM 变动稳定后再抓,适合客户端渲染页面;
  • done:默认策略,开箱即用。

四类细粒度等待(可叠加、可互斥配对):

# 等待某个稳定内容选择器出现 moli fetch --dump markdown --wait-selector "main article" https://example.com/news # 等待一个 JS 表达式为真 moli fetch --dump markdown --wait-script "window.__ready" https://example.com # 等待某个 API 响应的 URL 或响应体匹配 moli fetch --dump json \ --wait-response-url-regex "/api/(search|results)$" \ --wait-response-json-regex "data.status=^ok$" \ https://example.com/search # 超时兜底:默认 25000ms moli fetch --dump markdown --timeout 15000 https://example.com

经验法则:先给窄信号,再加大超时。内容选择器优先于固定延时,--delay-ms只在页面完全没有可观测信号时兜底使用。

三、高频辅助参数:按需裁剪与定向提取

参数作用
--eval '<表达式>'页面就绪后执行一段 JS,字符串按文本输出、对象输出为紧凑 JSON,适合"只要一个值"的场景,与--dump互斥
--with-frames把 iframe 内容一并序列化
--with-base序列化 HTML 时保留 base 元数据
--strip-mode js,ui,css,full从序列化输出中剥离开源脚本、UI 节点或 CSS 风格
--trace-network在--dump json中附加结构化网络跟踪对象(需--dump json)
--disable-js/--disable-css完全禁用页面脚本 / 外部样式表
-H 'Name: Value'为初始导航附加请求头(可多次)
--cookie-file/-P导入 Cookie 或指定 profile 目录,实现登录态复用
# 定向提取:只取第一个标题 moli fetch --eval 'document.querySelector("h1")?.textContent.trim()' https://example.com

四、效率对比:为什么结构优先更快

Moli 的设计哲学是"DOM 和样式是唯一事实来源",布局与像素只在需要时生成——纯文本抓取完全不触发布局与绘制。在 Lexbench 基准中,Moli 的中位 CPU 时间约为 Chrome 的 15%、峰值内存约 13%:

实操建议:

  • 只做文本检索 → 用markdown/semantic_tree_text,不要开--layout,不付布局成本;
  • 视觉证据或分页导出 → 才加--layout,并只启用真正需要的资源族(--image、--font,全部需要时用--resource);
  • 程序化流水线 →--dump json拿final_url与status,出问题时再加--trace-network。

五、延伸资料

想深入更多配方(定向 JS 求值、响应检查、会话状态、故障诊断),仓库内已内置给 AI 使用的完整技能文档:

  • 官方快速上手:README.md
  • 中文文档:docs/README.zh-CN.md
  • Agent 技能指南:skills/moli-webfetch/SKILL.md
  • 抓取配方大全:skills/moli-webfetch/references/fetch-recipes.md
  • fetch 参数定义源码:moli/src/cli.rs
  • 输出格式枚举(8 种 dump):moli/src/cli.rs
  • HTML 转 Markdown 实现:moli-html2md/src/

掌握--dump的 8 种形态 + 五档等待 + 细粒度响应等待,就覆盖了 Moli fetch 90% 的日常场景。跑一次moli fetch --help,把这份清单收藏起来,随取随用吧!

【免费下载链接】moliBest headless browser for AI agents. Lite, Fast, High-Compatibility. Built in Rust项目地址: https://gitcode.com/gh_mirrors/moli/moli

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 17:03:45

Keil5 无法识别单片机?看这篇就够了

1. 引言用 Keil5 开发时&#xff0c;经常遇到无法识别单片机的情况&#xff0c;表现为下载失败或调试器连不上芯片。本文将结合我学习的经验&#xff0c;帮助你解决这个问题。2. 常见原因问题通常出在以下几个方面&#xff1a;1.调试器驱动没装好。2.调试器与单片机接线错误。3…

作者头像 李华
网站建设 2026/10/3 17:02:19

SELinux 介绍和基本使用

SELinux 介绍和基本使用 文章目录SELinux 介绍和基本使用1. SELinux 介绍1.1 SELinux 发展史1.2 SELinux 基础原理1.2.1 DAC 和MAC1.2.1.1 DAC1.2.1.2 MAC1.2.2 Core SELinux Components1.2.3 SELinux&#xff08;MAC&#xff09;基本访问流程1.2.4 Security Context1.3 SELinu…

作者头像 李华