创建 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
This commit is contained in:
54
skills/lyxy-reader-html/references/error-handling.md
Normal file
54
skills/lyxy-reader-html/references/error-handling.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# 错误处理和限制说明
|
||||
|
||||
## 限制
|
||||
|
||||
- 不支持图片提取(仅纯文本)
|
||||
- 不支持复杂的格式保留(字体、颜色、布局等)
|
||||
- 不支持文档编辑或修改
|
||||
- 仅支持 URL、.html、.htm 格式
|
||||
- pyppeteer 和 selenium 需要额外配置环境变量
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. **必须优先使用 lyxy-runner-python**:如果环境中存在,必须使用 lyxy-runner-python 执行脚本
|
||||
2. **查阅 README**:详细参数、依赖安装、下载器/解析器对比等信息请阅读 `scripts/README.md`
|
||||
3. **JS 渲染网页**:对于需要 JS 渲染的网页,确保安装 pyppeteer 或 selenium 并正确配置环境变量
|
||||
4. **轻量使用**:如果目标网页不需要 JS 渲染,可以只安装 httpx/urllib 以获得更快的下载速度
|
||||
5. **禁止自动安装**:降级到直接 Python 执行时,仅向用户提示安装依赖,不得自动执行 pip install
|
||||
|
||||
## 依赖执行策略
|
||||
|
||||
### 必须使用 lyxy-runner-python
|
||||
|
||||
如果环境中存在 lyxy-runner-python skill,**必须**使用它来执行 parser.py 脚本:
|
||||
- lyxy-runner-python 使用 uv 管理依赖,自动安装所需的第三方库
|
||||
- 环境隔离,不污染系统 Python
|
||||
- 跨平台兼容(Windows/macOS/Linux)
|
||||
|
||||
### 降级到直接执行
|
||||
|
||||
**仅当** lyxy-runner-python skill 不存在时,才降级到直接 Python 执行:
|
||||
- 需要用户手动安装依赖
|
||||
- 至少需要安装 html2text 和 beautifulsoup4
|
||||
- **禁止自动执行 pip install**,仅向用户提示安装建议
|
||||
|
||||
## JS 渲染配置
|
||||
|
||||
### pyppeteer 配置
|
||||
|
||||
- 首次运行会自动下载 Chromium(需要网络连接)
|
||||
- 或设置 `LYXY_CHROMIUM_BINARY` 环境变量指定 Chromium/Chrome 可执行文件路径
|
||||
|
||||
### selenium 配置
|
||||
|
||||
必须设置两个环境变量:
|
||||
- `LYXY_CHROMIUM_DRIVER` - ChromeDriver 可执行文件路径
|
||||
- `LYXY_CHROMIUM_BINARY` - Chromium/Chrome 可执行文件路径
|
||||
|
||||
## 不适用场景
|
||||
|
||||
- 需要提取图片内容(仅支持纯文本)
|
||||
- 需要保留复杂的格式信息(字体、颜色、布局)
|
||||
- 需要编辑或修改文档
|
||||
- 需要登录或认证才能访问的网页(需自行处理 Cookie/Token)
|
||||
- 需要处理动态内容加载但不使用 JS 渲染的情况
|
||||
Reference in New Issue
Block a user