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()Вывод изображений и ссылок в inline-формате Markdown
HighSecurityConfig()Среда с высокими требованиями к безопасности: ужесточение лимитов, сокращение тайм-аутов, включение аудита

Подробнее см. Конфигурация.

Поиск API по сценарию

Распространённые потребности и соответствующие точки входа:

ПотребностьРекомендуемый APIДокументация
Только чистый текстExtractText / Processor.ExtractTextФункции пакета
Markdown-выводExtractToMarkdown или MarkdownConfig()Форматы вывода
Извлечь все ресурсы-ссылкиExtractAllLinksИзвлечение ссылок
Пакетная параллельная обработкаExtractBatch / ExtractBatchFilesПакетная обработка
Пользовательская идентификация контентаинтерфейс Scorer + Config.ScorerОпределение интерфейсов
Аудит событий безопасностиAuditConfig + AuditSinkСистема аудита
Высокочастотное переиспользование + кэшдолго живущий Processor через html.New()Processor