1
0
Files
Skill/skills/lyxy-reader-html/references/parsers.md
lanyuanxiaoyao 6b4fcf2647 创建 lyxy-reader-html skill
- 新增 skill: lyxy-reader-html,用于解析 HTML 文件和 URL 网页内容
- 支持 URL 下载(pyppeteer → selenium → httpx → urllib 优先级回退)
- 支持 HTML 解析(trafilatura → domscribe → MarkItDown → html2text 优先级回退)
- 支持查询功能:全文提取、字数统计、行数统计、标题提取、章节提取、正则搜索
- 新增 spec: html-document-parsing
- 归档 change: create-lyxy-reader-html-skill
2026-03-08 02:02:03 +08:00

69 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 解析器说明和依赖安装
## 多策略解析降级
URL 下载器按 pyppeteer → selenium → httpx → urllib 优先级依次尝试HTML 解析器按 trafilatura → domscribe → MarkItDown → html2text 优先级依次尝试。前一个失败自动回退到下一个。
详细的优先级和对比请查阅 `scripts/README.md`
## 依赖安装
### 使用 uv推荐
```bash
# 完整安装(所有下载器和解析器)
uv run --with trafilatura --with domscribe --with markitdown --with html2text --with httpx --with pyppeteer --with selenium --with beautifulsoup4 scripts/parser.py https://example.com
# 轻量安装(仅 httpx + html2text
uv run --with html2text --with beautifulsoup4 scripts/parser.py https://example.com
```
> **说明**:以上为推荐安装命令,包含所有组件以获得最佳兼容性。详细的优先级和对比请查阅 `scripts/README.md`。
## 下载器对比
| 下载器 | 优点 | 缺点 | 适用场景 |
|--------|------|------|---------|
| **pyppeteer** | 支持 JS 渲染;现代网页兼容性好 | 依赖重;首次需下载 Chromium | 需要 JS 渲染的现代网页 |
| **selenium** | 支持 JS 渲染;成熟稳定 | 需配置 Chromium driver 和 binary | 需要 JS 渲染的现代网页 |
| **httpx** | 轻量快速;现代 HTTP 客户端 | 不支持 JS 渲染 | 静态网页;快速下载 |
| **urllib** | Python 标准库;无需安装 | 不支持 JS 渲染 | 静态网页;兜底方案 |
## 解析器对比
| 解析器 | 优点 | 缺点 | 适用场景 |
|--------|------|------|---------|
| **trafilatura** | 专门用于网页正文提取;输出质量高 | 可能无法提取某些页面 | 大多数网页正文提取 |
| **domscribe** | 专注内容提取 | 相对较新 | 网页内容提取 |
| **MarkItDown** | 微软官方;格式规范 | 输出较简洁 | 标准格式转换 |
| **html2text** | 经典库;兼容性好 | 作为兜底方案 | 兜底解析 |
## 能力说明
### 1. URL / HTML 文件输入
支持两种输入方式:
- URL自动下载网页内容支持 JS 渲染)
- 本地 HTML 文件:直接读取并解析
### 2. 全文转换为 Markdown
将完整 HTML 解析为 Markdown 格式,移除图片但保留文本格式(标题、列表、表格、粗体、斜体等)。
### 3. HTML 预处理清理
解析前自动清理 HTML
- 移除 script/style/link/svg 标签
- 移除 href/src/srcset/action 等 URL 属性
- 移除 style 属性
### 4. 获取文档元信息
- 字数统计(`-c` 参数)
- 行数统计(`-l` 参数)
### 5. 标题列表提取
提取文档中所有 1-6 级标题(`-t` 参数),按原始层级关系返回。
### 6. 指定章节内容提取
根据标题名称提取特定章节的完整内容(`-tc` 参数),包含上级标题链和所有下级内容。
### 7. 正则表达式搜索
在文档中搜索关键词或模式(`-s` 参数),支持自定义上下文行数(`-n` 参数,默认 2 行)。