TL;DR
- Очистка HTML для LLM означает сохранение полезной структуры при удалении шаблонного кода.
- Текст, готовый для LLM, сохраняет заголовки, ссылки, код и соответствующие таблицы, удаляя нерелевантный элемент страницы.
onlyMainContentможет удалить важную боковую панель или предупреждение; сравните это с HTML или скриншотом.- Сохраните исходный URL для каждого принятого фрагмента и рассматривайте извлеченный текст страницы как ненадежный ввод.
- Nstdata Crawl обрабатывает рендеринг JavaScript и маршрутизацию прокси в рамках управляемых запросов; его документация перечисляет шесть категорий вывода: Markdown, HTML, необработанные данные, PDF, скриншоты и ссылки.
Что такое текст, готовый для LLM?
Конверсия HTML в формат, готовый для LLM, выбирает значимое содержание и удаляет навигацию, рекламу, скрипты, повторяющиеся колонтитулы и нерелевантные элементы управления. Это должно сохранять заголовки, абзацы, списки, код, цитаты и соответствующие таблицы. Удаление каждого тега является слишком грубым: оно может сгладить границы разделов и стереть ссылки, которые модели нужны для цитирования. Желаемый вывод — это валидированный документ, а не просто меньше символов.
Nstdata Crawl может превратить URL или ограниченный набор связанных страниц в материал для AI-агента, индекса RAG или канала данных. Используйте свои собственные правила области и проверки приемлемости для достижения конкретного результата: очистите отрендеренный HTML в атрибутируемый текст, сохраняя структуру, необходимую AI-приложению. Полное руководство по обходу сайта Nstdata объясняет опцию на уровне сайта.
Для более узкой задачи, рассмотренной здесь, руководство по очистке Markdown от Nstdata дает полезный контекст для выбора первой репрезентативной страницы.
Что вам нужно перед началом?
Подготовьте репрезентативный набор: одну статическую страницу, одну страницу с рендерингом JavaScript и одну страницу с таблицей или образцом кода, если эти структуры имеют значение. Для каждой страницы напишите контрольный список приемлемости с требуемыми заголовками, открывающими и закрывающими абзацами, ссылками и любым текстом предупреждения. Сохраните исходный URL и время извлечения с очищенным выводом. Используйте ключ API Nstdata для управляемого маршрута, хранящегося на стороне сервера.
Документация Crawl API использует https://api.nstdata.io, заголовок x-api-key и Content-Type: application/json. Подготовьте эти поля перед выполнением метода:
| Поле | Что предоставить |
|---|---|
url | Один разрешенный URL страницы или сайта с поддержкой HTTPS |
formats | Запрашиваемые выходные данные, такие как ["markdown"] или ["html","screenshot"] |
onlyMainContent | true, только когда выбор основного содержания соответствует задаче |
maxDepth, maxPages | Явные пределы для задания на уровне сайта |
includeUrls, excludeUrls | Шаблоны URL, которые сохраняют открытие в рамках области |
timeout | Тайм-аут задачи в миллисекундах, когда по умолчанию это неудобно |
Стандартный управляемый запрос не имеет отдельных полей прокси Host, Port, Username, Password или Protocol. Проверьте текущую страницу цен на Crawl для ограничения учетной записи и затрат перед запуском крупной задачи.
Проверьте политику доступа и область целевого объекта. Протокол исключения роботов определяет, как краулеры читают правила роботов; он не предоставляет права на использование контента. Держите учетные данные и личные данные вне примеров и диагностических журналов.
Руководство по качеству данных Nstdata RAG является помощником для определения проверок приемлемости перед автоматизацией рабочего процесса.
Как работает очистка HTML?
Nstdata Crawl может рендерить страницы JavaScript, выбирать основное содержание и возвращать Markdown или очищенный HTML. Опция onlyMainContent полезна для статей или документационных страниц, но она может пропустить предупреждение в боковой панели или вариант продукта, который необходим для задачи. Необработанные данные и скриншоты предоставляют доказательства для сравнения. Доступ к управляемому прокси встроен в Crawl, поэтому обычный запрос API не требует отдельных учетных данных прокси.
Для известного URL одиночный скрейпинг страницы извлекает один результат. Для раздела сайта POST /api/v1/crawl рекурсивно обнаруживает связанные страницы в пределах заданной глубины, количества страниц и правил URL. Документация Nstdata перечисляет Markdown, HTML, необработанные данные, PDF, скриншоты и ссылки как шесть категорий вывода; страница продукта также предлагает JSON, но схема JSON, специфичная для домена, все еще требует явного сопоставления полей. Сохраняйте каждую принятую запись связанную с ее исходным URL и возвращенной метаданными.
Проверьте репрезентативную страницу с большим количеством JavaScript перед масштабированием. Рендеренное состояние может зависеть от времени, региона, согласия или сессии с входом. Сравните возвращенный HTML или скриншот с ожидаемым состоянием страницы; если они различаются, корректируйте только документированное рендеринг и управляющие элементы ожидания.
Как вы очищаете HTML для LLM?
Сравните очищенный Markdown с отрендеренным HTML на репрезентативной странице, затем автоматизируйте известные URL или ограниченным разделом сайта. Принимайте документ только тогда, когда структуры, необходимые для задачи ИИ, сохраняются.
Метод 1: Очистите одну страницу в Площадке
Лучше всего подходит для сравнения режимов контента перед написанием кода.
Шаг 1: Загрузите репрезентативный URL
Откройте Панель управления → Площадка для сканирования и введите авторизованный URL. [Скриншот: Управление URL и рендерингом.]
Шаг 2: Запросите два представления
Выберите Markdown и HTML, и включите опцию основного контента. Если страница загружает текст после выполнения JavaScript, используйте задокументированные средства ожидания, видимые в Площадке.
Шаг 3: Сравните пропуски
Проверьте очищенный вывод по сравнению с источником. Если таблица, блок кода или юридическая заметка исчезли, используйте HTML или измените выбор вместо того, чтобы принимать короткий результат Markdown.
Метод 2: Запросите очищенный текст через API
Лучше всего подходит для агента или сервиса поглощения RAG, который уже знает URL.
Шаг 1: Установите учетные данные
Сохраните NSTDATA_API_TOKEN в менеджере секретов и отправьте его как x-api-key.
Шаг 2: Подайте запрос
Используйте задокументированный формат быстрого старта ниже. Текущая документация содержит несовместимые метки на других маршрутах сканирования, поэтому сравните маршрут с примером, сгенерированным в Площадке.
Установите NSTDATA_API_TOKEN в своем терминале из своей учетной записи Nstdata, затем выполните задокументированный запрос быстрого старта. Публичная документация неконсистентно маркирует некоторые другие синхронные и асинхронные маршруты; сравните запрос, сгенерированный вашей учетной записью в Площадке, перед использованием в производстве.
curl --output crawl-response.json --request POST "https://api.nstdata.io/api/v1/crawl/scrape/submit-sync" \ --header "x-api-key: ${NSTDATA_API_TOKEN}" \ --header "Content-Type: application/json" \ --data '{"url":"https://example.com/","formats":["markdown","html"],"onlyMainContent":true}'
Ответ сохраняется в crawl-response.json. Проверьте вложенные поля data.success, data.status и data.data.metadata.statusCode перед использованием любого возвращенного контента.
Шаг 3: Проверьте качество контента
Требуйте успешного выполнения задачи, разумный статус страницы, заголовок, ожидаемые фразы и значимый Markdown. Сохраняйте HTML, когда вам нужно отладить отсутствующую структуру.
Метод 3: Очистите весь ограниченный сайт
Лучше всего подходит, когда корпус охватывает связанные страницы документации.
Шаг 1: Определите масштаб
Установите maxDepth, maxPages и правила включения/исключения URL перед началом.
Шаг 2: Соберите страницы
Подайте задание на сканирование сайта и извлеките каждую страницу, следуя пагинации. Рассматривайте каждую страницу как отдельный документ с собственным URL.
Для задания сайта замените пример хоста и пути на утвержденный масштаб, затем подайте ограниченный запрос:
curl --output crawl-submit.json --request POST "https://api.nstdata.io/api/v1/crawl" \ --header "x-api-key: ${NSTDATA_API_TOKEN}" \ --header "Content-Type: application/json" \ --data '{"url":"https://example.com/docs/","formats":["markdown"],"maxDepth":2,"maxPages":10,"includeUrls":["*example.com/docs/*"],"excludeUrls":["*example.com/admin/*"],"ignoreQuery":true}'
Скопируйте data.id из crawl-submit.json как ваш ID сканирования.
Шаг 3: Нормализуйте для ИИ
Удалите дубликаты повторяющейся навигации, сохраните пути заголовков и разделите контент после принятия. Храните исходные URL с частями и рассматривайте текст страницы как ненадежный ввод для агента.
Метод 4: Очистите статический HTML-файл локально
Лучше всего подходит для HTML, который у вас уже есть, когда рендеринг в браузере, прокси и обнаружение не требуются.
Шаг 1: Выберите репрезентативный файл
Сохраните авторизованную HTML-страницу как page.html и запишите заголовки и предупреждения, которые выход ИИ должен сохранить.
Шаг 2: Удалите очевидные элементы страницы
Установите Beautiful Soup с помощью python3 -m pip install beautifulsoup4, затем выполните:
from bs4 import BeautifulSoup soup = BeautifulSoup(open("page.html", encoding="utf-8").read(), "html.parser") main = soup.select_one("main") or soup.body if main is None: raise ValueError("No body found") for node in main.select("script, style, nav, footer, aside"): node.decompose() open("clean.txt", "w", encoding="utf-8").write(main.get_text("\n", strip=True))
Шаг 3: Проверьте, что было удалено
Сравните clean.txt с источником. Этот простой метод упрощает ссылки и таблицы и может удалить полезный aside; выберите управляемый метод сравнения Markdown/HTML, когда эта структура имеет значение.
Как вы проверяете вывод?
Оцените качество текста по сохранению, а не только сжатию. Составьте ожидаемый список заголовков и проверьте, сохраняет ли вывод необходимые ссылки и оговорки. Страница может быть читаемой, даже если отсутствует последний абзац с исключением. Документация MDN DOMParser полезна, когда ваше приложение выполняет дополнительный выбор HTML после обхода. Руководство по очистке Markdown от Nstdata более подробно обсуждает проверки точности.
Руководство по обобщению веб-сайтов от Nstdata связывает эту проверку на уровне страницы с последующей работой ИИ или данными.
Запишите исходный URL, время отправки, запрашиваемые форматы, не секретные параметры, идентификатор задачи, если он присутствует, статус возвращенной страницы и причину, по которой каждая запись прошла или провалила проверку. Проверьте содержимое, а также оболочку API. Если ответ содержит markdownRef, htmlRef, rawDataRef, screenshotRef или pdfRef, получите этот токен с помощью GET /api/v1/crawl/storage/read?st={ref}.
Для этого рабочего процесса обратитесь к MDN DOMParser при реализации последующего парсера или проверки принятия, специфичной для формата.
При передаче извлеченного текста агенту относитесь к инструкциям страницы как к ненадежному исходному материалу. Рекомендации OWASP по инъекции запросов объясняют риск. Сохраняйте исходные URL, чтобы выходные данные ИИ можно было проверить.
Почему очистка HTML может привести к потере важного текста?
Очистка текста html-to-llm может не сработать, потому что тело страницы не загрузилось или выбор оказался в неправильном регионе. Используйте таблицу симптомов, чтобы определить уровень сбоя перед изменением лимитов или повторной попыткой.
| Симптом | Вероятная причина | Следующее действие |
|---|---|---|
| Появляются только меню | Тело страницы не загрузилось или выбор оказался в неправильном регионе. | Проверьте отрисованный HTML и дождитесь предназначенного элемента. |
| Важный текст исчезает | Очистка основного контента исключила необходимую боковую панель или заметку. | Сохраните HTML и настроите выбор для этого шаблона. |
| Модель следует инструкциям страницы | Внешний контент страницы рассматривался как инструкция для агента. | Отделите извлеченное содержимое от системных инструкций и ограничьте разрешения инструментов. |
Документация Nstdata перечисляет ошибки на уровне задач, такие как access_denied, timeout, parse_error и internal_error. Внешний HTTP 200 может сопутствовать провалившейся задаче. Проверьте success, status, errorCode и errorMessage внутри ответа, если они присутствуют. Повторите попытку только в случае временных сбоев на сайтах, к которым вы можете получить доступ.
Какой метод лучше всего подходит?
Выберите Playground, когда необходимо выбрать между Markdown и HTML, одностраничным API для известного документа и обходом сайта для связанной базы знаний. Используйте локальную очистку HTML для статических файлов, когда плоский текст достаточен. Обзор обхода сайтов от Nstdata предоставляет более подробную информацию о маршруте сайта.
Что делать после первого успешного запуска?
Сохраните одобренную конфигурацию и одну запись с поддержкой источника, затем повторите на небольшом наборе различных шаблонов страниц. Расширяйте масштаб только после того, как эти записи пройдут те же проверки принятия.
Часто задаваемые вопросы: Что еще вам следует знать?
В: Хватает ли удалить HTML-теги?
Нет. Удаление тегов теряет структурные границы и ссылки; выберите основной контент и сохраните необходимые семантики.
В: Должен ли я сохранять HTML после конверсии?
Сохраняйте его, если важны таблицы, метаданные или отладка, в соответствии с вашей политикой хранения.
В: Обеспечивает ли рендеринг JavaScript полный текст?
Нет. Проверьте репрезентативные динамические страницы и настройте подходящее ожидание готовности.
В: Требует ли очистка текста HTML-to-LLM отдельной конфигурации прокси с Nstdata Crawl?
Стандартный управляемый запрос Crawl не требует отдельного прокси Host, Port, Username, Password или Protocol. Подтвердите любой выбор пользовательского прокси и связанные с ним сборы в вашем аккаунте.
В: Доказывает ли HTTP 200, что результат очистки текста HTML-to-LLM можно использовать?
Нет. Проверьте вложенные результаты задачи, статус страницы, ожидаемые поля и точность содержимого перед использованием его в ИИ или потоках данных.





