从 URL 导入
当源材料本身就在文档页面上时,可以直接从 URL 导入到本地事实库。这条路径有
两个命令:单 URL 导入,和一个显式有界的同源 crawl。两者都不执行 JavaScript、
不启动浏览器,都写 hash-first 回执并记录 network_used=true。
导入单个 URL
edge demo facts import-url "https://example.org/materials" \
--store protocol_docs_v1 \
--topic "Protocol documentation" \
--tags protocol,docs \
--json
对带 HTML 表格的索引页,把表格行拆成独立事实:
edge demo facts import-url "https://example.org/all" \
--store protocol_docs_v1 \
--topic "Protocol index" \
--tags protocol,index \
--split html-table-rows \
--fact-id-prefix protocol-index \
--json
import-url 不是爬虫。它抓取一个 URL、强制大小与内容限制、默认写仅哈希
回执。html-table-rows 模式下,行内链接在 URL 绝对化后作为事实文本保存;
Edge 不会跟随这些链接。
对表格行拆分也不够用的长篇正文页面,可以让更强的本地模型来提出事实——见 Host-Model 提取。
抓取小规模同源文档集
需要 edge-studio 0.0.1rc22 或更高版本。
当文档集分布在少量链接页面里时,用 crawl-url,不要写脚本反复跑单页导入:
edge demo facts crawl-url "https://example.org/docs" \
--store protocol_docs_v1 \
--topic "Protocol docs" \
--tags protocol,docs \
--max-depth 1 \
--max-urls 10 \
--max-bytes 1000000 \
--max-bytes-total 5000000 \
--timeout 15 \
--json
这是有界静态 HTTP(S) crawl:
- 只允许同源,始终生效。 跨源链接不入队,跨源 redirect 对该页面失败即 关闭。不存在跨源模式。
- 必须显式给出边界。
--max-depth、--max-urls、--max-bytes、--max-bytes-total、--timeout没有默认值;你给的值之上还有硬上限封顶。 - 只做静态抓取。 不启动浏览器、不执行 JavaScript;链接来自静态 HTML anchor。
- Hash-first 回执。 回执记录抓取 URL 哈希、redirect 链哈希、失败 URL 状态、总字节数和 policy decision。回执里唯一的明文 URL 是你自己输入的 起始 URL。
- 不查询
robots.txt。 回执把这一点作为显式 policy decision 如实记录, 所以只把这个命令指向你有权抓取的文档集。
crawl-url 只使用确定性提取路径。它是有界材料导入器,不是通用网络爬虫,
也不接受 host-model 提取器。
落进库里的是什么
两个命令写入的都是与文件导入相同的本地 SQLite 库:用
edge demo facts list / inspect 列出与检查,聊天时经 --facts-store 或
tools manifest 查询,源材料变化时重跑导入刷新。见
本地事实库。