TL;DR
- Чистая извлечение статьи требует, чтобы сохранились тело, заголовок, URL-адрес источника и видимые предупреждения.
- Извлечение статьи должно сохранять заголовок, границы тела, ссылки и раскрытие информации.
- Чистый результат все равно может опустить заключительный абзац или включить карточки со связанными историями.
- Сравните одну представительную статью на шаблон перед запуском более широкой коллекции.
- Nstdata Crawl обрабатывает рендеринг JavaScript и прокси-маршрутизацию в управляемых запросах; его документация перечисляет шесть категорий выходных данных: Markdown, HTML, сырые данные, PDF, скриншоты и ссылки.
What Is Article Text Extraction?
Извлечение статьи отделяет основную историю страницы от меню, карточек рекомендаций, объявлений, повторяющихся подвалов и нерелевантных виджетов. Полезная запись включает заголовок, тело, URL и любые детали публикации, которые действительно присутствуют. Она также должна сохранять цитаты, структуру списка и связанные ссылки. Слова "любая веб-страница" описывают форму ввода, а не гарантируют, что каждый сайт доступен или что каждый макет может быть автоматически обработан.
Nstdata Crawl может превратить URL или ограниченный набор связанных страниц в материалы для AI-агента, RAG-индекса или конвейера данных. Используйте свои власные правила поля и проверки приемлемости для достижения конкретного результата: извлечь читаемое тело статьи из известного URL, сохраняя его источник и границы. Полное руководство Nstdata по краулингу сайтов объясняет опцию на уровне сайта.
Для более узкой задачи, рассматриваемой здесь, Руководство Nstdata по URL в Markdown предоставляет полезный контекст для выбора первой представительной страницы.
What Do You Need Before You Start?
Выберите статью, которую вы можете обработать, желательно с заголовком, подзаголовком, ссылками и заключительным абзацем. Запишите ожидаемый заголовок, первые и последние предложения, а также любые раскрытия, которые вы должны сохранить. Решите, нужно ли вашему конечному продукту полный текст, короткий отрывок или только резюме. Получите API-ключ Nstdata, если используете управляемый маршрут, и храните его на стороне сервера.
Документация API Crawl использует https://api.nstdata.io, заголовок x-api-key и Content-Type: application/json. Подготовьте эти поля перед запуском метода:
| Поле | Что предоставить |
|---|---|
url | Один разрешенный HTTPS-адрес страницы или URL-адрес сайта |
formats | Запрашиваемые выходные данные, такие как ["markdown"] или ["html","screenshot"] |
onlyMainContent | true, только когда выбор основного тела соответствует задаче |
maxDepth, maxPages | Явные границы для задания по всему сайту |
includeUrls, excludeUrls | Шаблоны URL, которые ограничивают обнаружение в пределах области действия |
timeout | Таймаут задачи в миллисекундах, когда значение по умолчанию не подходит |
Стандартный управляемый запрос не имеет отдельных полей Proxy Host, Port, Username, Password или Protocol. Проверьте текущую страницу цен на Crawl на предмет ограничений по аккаунту и сборов перед запуском большой задачи.
Изучите политику доступа и область целевого ресурса. Протокол исключения для роботов определяет, как краулеры читают правила для роботов; он не предоставляет прав на использование контента. Держите учетные данные и личные данные вне примеров и диагностических логов.
Руководство Nstdata по очистке Markdown является дополнительным материалом для определения проверок приемлемости перед автоматизацией рабочего процесса.
How Does an Article Extraction API Find the Main Body?
Извлекатель статьи определяет основное тело после того, как страница была извлечена и отрендерена, а затем удаляет окружающую навигацию и рекомендации. Nstdata Crawl может рендерить контент JavaScript и предоставляет onlyMainContent, чтобы уменьшить шаблонный код. Он возвращает Markdown и метаданные страницы, с доступными HTML и скриншотами для расследования. Извлечение статьи все еще требует проверки приемлемости на уровне страницы, поскольку важное раскрытие или финальный абзац могут находиться вне выбранного основного региона. Управляемая прокси-маршрутизация встроена в сервис; стандартный запрос не имеет отдельных полей Proxy Host, Port, Username или Password.
Для известного URL одинарный сканирование страницы извлекает один результат. Для раздела сайта, POST /api/v1/crawl обнаруживает связанные страницы рекурсивно в пределах заданной глубины, количества страниц и правил URL. Документация перечисляет Markdown, HTML, сырые данные, PDF, скриншоты и ссылки как шесть категорий вывода; страница продукта также предлагает JSON, но спецификация JSON для конкретного домена всё еще требует явного сопоставления полей. Держите каждую принятую запись, связанную с её исходным URL и возвращенной метаданными.
Проверьте представительную страницу с большим объемом JavaScript перед масштабированием. Состояние рендеринга может зависеть от времени, региона, согласия или зарегистрированной сессии. Сравните возвращенный HTML или скриншот с ожидаемым состоянием страницы; если они различаются, отрегулируйте только документированные рендеринг и ожидание.
Как извлечь чистый текст статьи с веб-страницы?
Используйте представительную статью, чтобы определить границы тела, затем выберите управляемое извлечение одной страницы или локальный парсер для HTML, который уже находится под вашим контролем. Проверьте каждую шаблон перед масштабированием.
Метод 1: Проверьте статью в Crawl Playground
Лучший способ решить, является ли автоматический выбор основного контента точным.
Шаг 1: Откройте пример статьи
Войдите в систему и откройте Приборная панель → Crawl Playground. Вставьте авторизованный URL статьи. [Скриншот: URL статьи и элементы управления выводом.]
Шаг 2: Запросите текст и подтверждение
Выберите Markdown и HTML, активируйте опцию основного контента и запустите сканирование. Для клиентских новостных сайтов используйте документированные элементы управления готовностью, показанные в текущем интерфейсе.
Шаг 3: Сравните границы
Проверьте, чтобы извлеченные заголовок, первый и последний абзацы, подписи, цитаты и раскрытия соответствовали исходнику. Если какой-либо важный элемент отсутствует, используйте HTML для проверки выбора перед обработкой других статей.
Метод 2: Вызовите маршрут API для извлечения статьи
Лучший для известных URL в приложении или рабочем процессе агента.
Шаг 1: Храните ключ API в секрете
Сохраните NSTDATA_API_TOKEN в вашей серверной среде и отправляйте его как x-api-key. Не отправляйте его из JavaScript браузера.
Шаг 2: Отправьте URL статьи
Используйте документированный запрос быстрого старта на одной странице ниже с Markdown и onlyMainContent. Документы показывают противоречивые метки на других маршрутах сканирования, поэтому подтвердите текущий сгенерированный маршрут в Playground.
Установите NSTDATA_API_TOKEN в вашем терминале из вашей учетной записи Nstdata, затем выполните документированный запрос быстрого старта. Публичная документация несогласованна в отношении некоторых других синхронных и асинхронных маршрутов; сравните ваш запрос, созданный в Playground, перед производственным использованием.
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/article","formats":["markdown","html"],"onlyMainContent":true}'
Ответ сохраняется в crawl-response.json. Проверьте вложенные поля data.success, data.status и data.data.metadata.statusCode перед использованием любого возвращенного контента.
Шаг 3: Проверьте результат
Проверьте вложенные успешные и статус страницы, заголовок и Markdown. Отвергните результат, который содержит только навигацию, стену согласия или частичную историю. Сохраните URL и время извлечения с приемлемым текстом.
Метод 3: Используйте локальное извлечение для HTML, который у вас уже есть
Лучший для надежного, уже отрендеренного HTML, когда управляемый fetch не нужен.
Шаг 1: Выберите локальный парсер
Mozilla Readability — это устоявшийся парсер контента статей для ввода DOM; установите его из его официального пакетного источника, если ваше приложение использует JavaScript.
Шаг 2: Запустите его на захваченном DOM
Предоставьте фактический отрендеренный документ, а не только начальную статическую оболочку. Сохраните оригинальный HTML вместе с извлеченным результатом для отладки.
Шаг 3: Проверьте покрытие шаблона
Проверьте несколько макетов статей и сравните открытия, закрытия, подписи и ссылки. Локальное извлечение само по себе не решает доступа, загрузки JavaScript или маршрутизации через прокси.
Как вы подтвердите вывод?
Принимайте статью только тогда, когда ее заголовок, первый абзац, последний абзац и как минимум одна характерная фраза соответствуют источнику. Количество символов ловит очевидный пустой результат, но не может доказать, что раскрытие уцелело. Репозиторий Mozilla Readability документирует локальный вариант парсера для страниц, HTML которых уже доступен. Руководство Nstdata по преобразованию статьи в Markdown объясняет, как очищенный текст поддерживает использование ИИ ниже по течению.
Руководство по суммированию веб-сайтов Nstdata соединяет эту проверку на уровне страницы с ИИ или рабочим потоком данных ниже по течению.
Запишите исходный URL, время отправки, запрашиваемые форматы, не секретные параметры, идентификатор задачи, если он присутствует, статус возвращенной страницы и причину, по которой каждая запись прошла или не прошла проверку. Проверьте содержимое, а также оболочку API. Если ответ содержит markdownRef, htmlRef, rawDataRef, screenshotRef или pdfRef, получите этот токен с помощью GET /api/v1/crawl/storage/read?st={ref}.
Для этого рабочего процесса консультируйтесь с Mozilla Readability при реализации последующего парсера или проверки на соответствие специфическим форматам.
При передаче извлеченного текста агенту рассматривайте инструкции страницы как ненадежный исходный материал. Рекомендации OWASP по инъекции подсказок объясняют риск. Сохраните исходные URL, чтобы AI-вывод можно было проверить.
Почему извлечение текста из статьи может пропустить контент?
Извлечение текста из статей может не сработать, если тело статьи загружается позже или выбор закончился слишком рано. Используйте таблицу симптомов, чтобы определить уровень сбоя, прежде чем менять лимиты или пытаться снова.
| Симптом | Вероятная причина | Следующее действие |
|---|---|---|
| Появляется только заголовок | Тело статьи загружалось позже или выбор завершился слишком рано. | Проверьте отрендеренный HTML и дождитесь элемента тела. |
| Рекомендации появляются как основной текст | Шаблон страницы включает соседние карточки в выбранной области. | Проверьте HTML-границу и добавьте фильтр, специфичный для шаблона. |
| Откровение или последний абзац отсутствует | Выбор основного контента был слишком агрессивным. | Сравните окончание страницы и сохраните необходимый раздел вручную или с помощью пересмотренного селектора. |
Документация Nstdata перечисляет ошибки на уровне задачи, такие как access_denied, timeout, parse_error и internal_error. Внешний HTTP 200 все равно может сопровождать неудавшуюся задачу. Проверьте success, status, errorCode и errorMessage внутри ответа, если они присутствуют. Повторяйте попытки только в случае временных сбоев на сайтах, которые вы можете открыть.
Какой метод наиболее подходит?
Выбирайте Playground для проверки границ, управляемый API для известного URL статьи или локальный парсер, когда у вас уже есть HTML. Используйте локальный парсер только после тестирования его работы на каждом шаблоне статьи. Обзор Nstdata по индексации сайтов дает больше информации о маршруте сайта.
Что следует делать после первого успешного запуска?
Сохраните одобренную конфигурацию и одну запись на основе источника, затем повторите на небольшой выборке различных шаблонов страницы. Увеличивайте объем только после того, как эти записи пройдут те же проверки на соответствие.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ: Что еще вам следует знать?
В: Может ли извлекатель статей обрабатывать каждую веб-страницу?
Нет. Он лучше всего работает на макетах, похожих на статьи; ограничения доступа, динамическая загрузка и необычные шаблоны требуют проверок или пользовательских правил.
В: Должен ли я сохранять оригинальный HTML?
Сохраняйте его, когда ваша политика хранения это позволяет и когда вам нужно исследовать пропуски или цитаты.
В: Достаточно ли заголовка статьи, чтобы доказать успех?
Нет. Проверьте открывающие, закрывающие и любые необходимые оговорки по сравнению с источником.
В: Требует ли извлечение текста статьи отдельной конфигурации прокси с Nstdata Crawl?
Стандартный запрос на управляемый Crawl не требует отдельных полей Proxy Host, Port, Username, Password или Protocol. Подтвердите любой необязательный выбор пользовательского прокси и связанные расходы на использование в вашей учетной записи.
В: Доказательство HTTP 200 подтверждает, что результат извлечения текста статьи можно использовать?
Нет. Проверьте вложенный результат задачи, статус страницы, ожидаемые поля и достоверность тела, прежде чем использовать его в AI или рабочем процессе данных.





