← Все инструкции

РУКОВОДСТВО · ОБНОВЛЕНО 2026-11-02

HTML для RAG: как извлечь статью без меню и не потерять важную таблицу

Проверка источника до разбиения на чанки и создания эмбеддингов.

Простое удаление HTML-тегов часто смешивает меню, рекламу, подписи и основной текст. Для RAG сначала определите полезные области страницы и сохраните связь результата с источником. Алгоритм извлечения статьи может помочь, но не гарантирует правильный результат для каталога, документации или сложной таблицы. Сравнивайте очищенный текст с исходной страницей. Обработка недоверенного HTML не должна запускать его скрипты или автоматически загружать внешние ресурсы. Подготовка текста, безопасное отображение и защита от инструкций внутри документа остаются отдельными задачами.

1. Определите тип и доступность страницы

Отделите статью, документацию, список товаров и страницу приложения. У них разные полезные блоки и разные правила извлечения. Если сервер отдаёт только оболочку, статический HTML-парсер не получит данные, видимые после загрузки интерфейса. Выбирайте разрешённый способ получения содержимого и соблюдайте доступы источника. Не обходите вход или ограничения ради полноты индекса. Сохраните исходную версию и технические сведения, необходимые для повторной обработки и проверки результата человеком.

2. Выберите извлечение и сохраните структуру

Для статей можно сравнить специализированный алгоритм, например Mozilla Readability, с правилами конкретного сайта. Сохраняйте заголовки, списки, ссылки и необходимые подписи, а не только сплошную строку. Для таблицы проверьте связь значений с названиями колонок и единицами. Автоматический выбор основного блока может удалить важное предупреждение или приложение. Не называйте результат полным только из-за большого количества символов: важна сохранность сведений, на которые должны отвечать вопросы пользователей.

3. Проверьте границы безопасности

Парсите недоверенный HTML в среде без ненужного выполнения кода и внешних загрузок. README Readability отдельно обсуждает безопасность: результат извлечения не следует считать готовым безопасным HTML для показа без очистки. Если приложению нужен только текст, не переносите активную разметку в интерфейс. Инструкции, написанные внутри документа, остаются данными источника, а не полномочиями агента. Не смешивайте успешное извлечение текста с разрешением выполнить найденную команду или перейти по произвольной ссылке.

4. Сравните исходник и результат на задачах

Соберите контрольные страницы с длинным меню, таблицей, кодом, сноской и коротким основным блоком. Для каждой задайте вопросы, требующие сохранённых деталей. Сравните извлечённый текст до chunking и выдачу поиска после индексации. Если ответ пропал, определите этап потери вместо смены генератора вслепую. При обновлении правил парсинга проверяйте прежние примеры и сохраняйте версию конвейера. Для цитат оставляйте ссылку и понятный фрагмент источника, который пользователь может открыть и сверить самостоятельно.

Частые вопросы

Можно ли удалить все теги регулярным выражением?

Это не надёжное выделение основного текста и не полноценный разбор HTML. Структура, таблицы и границы блоков могут потеряться.

Подходит ли Readability для любого сайта?

Нет гарантии. Это инструмент выделения читабельного содержимого; страницы каталога и приложения требуют собственных контрольных примеров и правил.

Очищенный текст автоматически защищён от prompt injection?

Нет. Текст может содержать инструкции злоумышленника. Разделение данных и полномочий агента необходимо независимо от способа извлечения.

Нужно ли хранить исходный HTML?

Сохраняйте разрешённую версию или воспроизводимую ссылку по политике данных. Это помогает проверить потерю таблицы и повторить обработку новым парсером.

Источники

Калькулятор стоимости →