Skip to content

Функции пакета

Функции уровня пакета подходят для однократных вызовов, внутри используют sync.Pool для повторного использования Processor, не требуют ручного управления жизненным циклом. Примечание: пулируемый Processor отключает кэш и сохранение аудита; для кэша/статистики/аудита создайте отдельный Processor через html.New.

Извлечение контента

Extract

Извлечение контента из байтов HTML с возвратом полного Result.

go
func Extract(htmlBytes []byte, cfg ...Config) (*Result, error)

Параметры:

ПараметрТипОписание
htmlBytes[]byteСодержимое HTML
cfg...ConfigНеобязательная конфигурация, максимум одна

Пример:

go
result, err := html.Extract(data)
if err != nil {
    log.Fatal(err)
}
fmt.Println(result.Title, result.Text)

ExtractFromFile

Извлечение контента из HTML-файла.

go
func ExtractFromFile(filePath string, cfg ...Config) (*Result, error)

Извлечение текста

ExtractText

Извлечение только текстового содержимого.

go
func ExtractText(htmlBytes []byte, cfg ...Config) (string, error)

ExtractTextFromFile

Извлечение текста из файла.

go
func ExtractTextFromFile(filePath string, cfg ...Config) (string, error)

Версии с контекстом

Все функции поддерживают версии с context.Context для отмены и управления тайм-аутом:

ФункцияСигнатура
ExtractWithContext(ctx context.Context, htmlBytes []byte, cfg ...Config) (*Result, error)
ExtractFromFileWithContext(ctx context.Context, filePath string, cfg ...Config) (*Result, error)
ExtractTextWithContext(ctx context.Context, htmlBytes []byte, cfg ...Config) (string, error)
ExtractTextFromFileWithContext(ctx context.Context, filePath string, cfg ...Config) (string, error)
go
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()

result, err := html.ExtractWithContext(ctx, data)

Форматы вывода

ФункцияСигнатураОписание
ExtractToMarkdown(htmlBytes []byte, cfg ...Config) (string, error)HTML → Markdown
ExtractToMarkdownFromFile(filePath string, cfg ...Config) (string, error)Файл → Markdown
ExtractToMarkdownWithContext(ctx context.Context, htmlBytes []byte, cfg ...Config) (string, error)С контекстом
ExtractToMarkdownFromFileWithContext(ctx context.Context, filePath string, cfg ...Config) (string, error)Файл + контекст
ExtractToJSON(htmlBytes []byte, cfg ...Config) ([]byte, error)HTML → JSON
ExtractToJSONFromFile(filePath string, cfg ...Config) ([]byte, error)Файл → JSON
ExtractToJSONWithContext(ctx context.Context, htmlBytes []byte, cfg ...Config) ([]byte, error)С контекстом
ExtractToJSONFromFileWithContext(ctx context.Context, filePath string, cfg ...Config) ([]byte, error)Файл + контекст

Подробное использование и примеры в Форматы вывода.

Извлечение ссылок

ФункцияСигнатураОписание
ExtractAllLinks(htmlBytes []byte, cfg ...Config) ([]LinkResource, error)Извлечение всех ссылок
ExtractAllLinksFromFile(filePath string, cfg ...Config) ([]LinkResource, error)Извлечение ссылок из файла
ExtractAllLinksWithContext(ctx context.Context, htmlBytes []byte, cfg ...Config) ([]LinkResource, error)С контекстом
ExtractAllLinksFromFileWithContext(ctx context.Context, filePath string, cfg ...Config) ([]LinkResource, error)Файл + контекст

Подробное использование и примеры в Извлечение ссылок.

Пакетная обработка

ФункцияСигнатураОписание
ExtractBatch(htmlContents [][]byte, cfg ...Config) *BatchResultПакетное извлечение
ExtractBatchWithContext(ctx context.Context, htmlContents [][]byte, cfg ...Config) *BatchResultС контекстом
ExtractBatchFiles(filePaths []string, cfg ...Config) *BatchResultПакетное извлечение из файлов
ExtractBatchFilesWithContext(ctx context.Context, filePaths []string, cfg ...Config) *BatchResultФайлы + контекст

Подробное использование и примеры в Пакетная обработка.