ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

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

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/moliMoli 是一款用 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 如果不写--dumpMoli 会把可渲染的 HTML 文档序列化输出对 PDF、视频这类原始响应则逐字节原样写出。二、页面就绪参数--wait动态页面不抓空的秘诀JS 渲染页面最头疼的是抓早了。Moli 提供五档生命周期等待和四类细粒度等待五档--wait-until默认donedomcontentloaded/load对应标准浏览器生命周期事件networkidle网络安静后再抓适合 API 驱动页面轮询、流式页面慎用domstableDOM 变动稳定后再抓适合客户端渲染页面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.mdAgent 技能指南skills/moli-webfetch/SKILL.md抓取配方大全skills/moli-webfetch/references/fetch-recipes.mdfetch 参数定义源码moli/src/cli.rs输出格式枚举8 种 dumpmoli/src/cli.rsHTML 转 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),仅供参考
返回列表