Skip to content

API 参考

HTML 库提供以下核心组件:

组件说明文档
包函数便捷函数,适合一次性调用包函数
Processor处理器实例,复用资源和缓存Processor
Config配置结构体和预设配置
输出格式Markdown、JSON 输出输出格式
链接提取独立的链接提取 API链接提取
批量处理并发批量提取批量处理
接口Extractor、StatsProvider 等接口定义
类型Result、ImageInfo 等类型定义
常量与错误默认值、哨兵错误常量与错误
安全防护消毒、输入限制、路径安全安全防护
审计系统审计管道和 Sink审计系统

API 总览

两种调用模式

text
┌─────────────────────────────────────────┐
│           包函数(便捷模式)               │
│  html.Extract(data) → *Result, error    │
│  内部使用 sync.Pool 复用 Processor       │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│         Processor(实例模式)             │
│  p, _ := html.New(cfg)                  │
│  defer p.Close()                        │
│  result, err := p.Extract(data)         │
│  ✓ 缓存复用  ✓ 统计收集  ✓ 审计日志      │
└─────────────────────────────────────────┘

函数命名规则

模式命名示例
基础Extract*Extract, ExtractText
从文件Extract*FromFileExtractFromFile
带上下文Extract*WithContextExtractWithContext
从文件 + 上下文Extract*FromFileWithContextExtractFromFileWithContext

模块信息

  • 模块路径: github.com/cybergodev/html
  • Go 版本: 1.25+
  • 依赖: golang.org/x/net, golang.org/x/text

核心类型速查

类型说明文档
Result提取结果(文本、标题、图片、链接、统计)类型定义
Config统一配置结构体与预设配置
Processor核心处理引擎,支持缓存与统计Processor
Statistics处理统计(命中、错误、平均耗时)类型定义
BatchResult批量提取结果批量处理
LinkResource链接资源(含类型分类)链接提取
AuditEntry审计日志条目审计系统

接口速查

接口说明文档
Extractor提取主接口,便于解耦与 mock接口定义
StatsProvider统计查询接口接口定义
Scorer自定义内容评分算法接口定义
ContentNode节点抽象,隐藏内部解析器类型接口定义
AuditSink审计日志输出目标(自定义后端)接口定义

预设配置

从预设出发再按需微调,避免手写零值配置(Config 零值不可直接使用):

预设用途
DefaultConfig()通用场景,平衡功能与性能
TextOnlyConfig()仅提取纯文本,禁用所有媒体,最高性能
MarkdownConfig()输出内联 Markdown 格式的图片与链接
HighSecurityConfig()高安全环境:收紧限额、缩短超时、开启审计

详见 配置

按场景找 API

常见需求与对应入口:

需求推荐 API文档
只提取纯文本ExtractText / Processor.ExtractText包函数
Markdown 输出ExtractToMarkdownMarkdownConfig()输出格式
提取所有链接资源ExtractAllLinks链接提取
批量并发处理ExtractBatch / ExtractBatchFiles批量处理
自定义内容识别Scorer 接口 + Config.Scorer接口定义
审计安全事件AuditConfig + AuditSink审计系统
高频复用 + 缓存html.New() 长驻 ProcessorProcessor