Справочник 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*FromFile | ExtractFromFile |
| С контекстом | Extract*WithContext | ExtractWithContext |
| Из файла + контекст | Extract*FromFileWithContext | ExtractFromFileWithContext |
Информация о модуле
- Путь к модулю:
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() | Вывод изображений и ссылок в inline-формате Markdown |
HighSecurityConfig() | Среда с высокими требованиями к безопасности: ужесточение лимитов, сокращение тайм-аутов, включение аудита |
Подробнее см. Конфигурация.
Поиск API по сценарию
Распространённые потребности и соответствующие точки входа:
| Потребность | Рекомендуемый API | Документация |
|---|---|---|
| Только чистый текст | ExtractText / Processor.ExtractText | Функции пакета |
| Markdown-вывод | ExtractToMarkdown или MarkdownConfig() | Форматы вывода |
| Извлечь все ресурсы-ссылки | ExtractAllLinks | Извлечение ссылок |
| Пакетная параллельная обработка | ExtractBatch / ExtractBatchFiles | Пакетная обработка |
| Пользовательская идентификация контента | интерфейс Scorer + Config.Scorer | Определение интерфейсов |
| Аудит событий безопасности | AuditConfig + AuditSink | Система аудита |
| Высокочастотное переиспользование + кэш | долго живущий Processor через html.New() | Processor |