TL;DR
- Извлечение метаданных требует как метаданных ответа на уровне страницы, так и явного парсинга HTML-тегов.
- Свойства Open Graph являются HTML-мета-тегами; название ответа Crawl само по себе не предоставляет все поля OG.
- Сохраняйте заголовок документа, повторяющиеся значения
og:image, конечный URL и канонический URL в аудите. - Разрешайте относительные URL-адреса изображений и отмечайте отсутствующие или конфликтующие поля, вместо того чтобы угадывать значения.
- Nstdata Crawl обрабатывает рендеринг JavaScript и прокси-маршрутизацию в управляемых запросах; его документация перечисляет шесть категорий вывода: Markdown, HTML, необработанные данные, PDF, скриншоты и ссылки.
Какие метаданные веб-сайта вы должны извлекать?
Метаданные веб-сайта включают заголовок документа, описание, язык, канонический URL и необязательные теги предварительного просмотра в социальных сетях, такие как og:title, og:description, og:image и og:url. Metadata ответа Crawl может описывать извлеченную страницу, но поля Open Graph находятся в HTML-элементах <meta> и требуют явного парсинга, если только документированный конечный пункт не делает их доступными. Сохраните оригинальные значения тегов и конечный URL, чтобы позже аудит мог отличить отсутствующий тег от сбоя парсера.
Nstdata Crawl может превратить URL или ограниченный набор связанных страниц в материал для AI-агента, RAG-индекса или конвейера данных. Используйте свои собственные правила для полей и проверки приемлемости для конкретного результата: собирайте заголовки страниц, описания, канонические URL и поля Open Graph из ограниченного набора страниц. Полное руководство по краулингу сайта Nstdata объясняет вариант на уровне сайта.
Для узкой задачи, рассмотренной здесь, руководство по краулингу сайта Nstdata предоставляет полезный контекст для выбора первой представительной страницы.
Что вам нужно перед началом?
Определите поля и правила обработки дубликатов перед сканированием сайта. Запишите, нужны ли вам начальный URL, конечный URL, канонический URL или og:url; они могут отличаться. Решите, как обрабатывать несколько значений og:image, относительные URL изображений, пустые описания и локализованные страницы. Используйте только публичные или авторизованные страницы, ограниченный диапазон URL и серверный ключ Nstdata для управляемого сбора.
Документация API Crawl использует https://api.nstdata.io, заголовок x-api-key и Content-Type: application/json. Подготовьте эти поля перед запуском метода:
| Поле | Что предоставить |
|---|---|
url | Один разрешенный HTTPS-адрес страницы или сайта |
formats | Запрашиваемые форматы, такие как ["markdown"] или ["html","screenshot"] |
onlyMainContent | true только в случае, если выбор основного содержимого соответствует задаче |
maxDepth, maxPages | Явные пределы для задачи на уровне сайта |
includeUrls, excludeUrls | Шаблоны URL, которые сохраняют обнаружение в рамках области охвата |
timeout | Тайм-аут задачи в миллисекундах, когда значение по умолчанию неподходящее |
Стандартный управляемый запрос не имеет отдельных полей Proxy Host, Port, Username, Password или Protocol. Проверьте текущую страницу цен на Crawl для ограничения учетной записи и сборов перед запуском большой задачи.
Просмотрите политику доступа и объем доступного контента. Протокол исключения роботов определяет, как краулеры читают правила для роботов; он не предоставляет прав на использование контента. Держите учетные данные и личные данные вне примеров и диагностических журналов.
Руководство по качеству веб-данных Nstdata является дополнением для определения проверок приемлемости перед автоматизацией рабочего процесса.
Как хранятся теги Open Graph на странице?
Свойства Open Graph хранятся в HTML-мета-элементах, таких как meta[property="og:title"], обычно в заголовке документа. Nstdata Crawl может извлекать отдельные страницы или ограниченный сайт, рендерить JavaScript по мере необходимости и возвращать HTML с метаданными страницы. Используйте API для получения, затем парсите заголовок документа или возвращенный HTML для элементов Open Graph и канонических элементов. Управляемая прокси-маршрутизация сервиса не требует отдельных полей Proxy Host, Port, Username или Password в стандартном запросе. Краулинг сайта может обнаруживать множество страниц, но приложение все равно отображает и проверяет каждый тег.
Для известного URL-адреса одностраничный скрапинг получает один результат. Для секции сайта POST /api/v1/crawl обнаруживает связанные страницы рекурсивно в пределах заданной глубины, количества страниц и правил URL. документация перечисляет Markdown, HTML, необработанные данные, PDF, скриншоты и ссылки как шесть категорий вывода; страница продукта также предлагает JSON, но схема JSON, специфичная для домена, все еще требует явного сопоставления полей. Сохраняйте каждую принятую запись, связанную с ее исходным URL и возвращенной метаданными.
Проверьте репрезентативную страницу с интенсивным JavaScript перед масштабированием. Состояние рендеринга может зависеть от времени, региона, согласия или авторизованной сессии. Сравните возвращенный HTML или скриншот с ожидаемым состоянием страницы; если они различаются, корректируйте только задокументированный рендеринг и контроль ожидания.
Как извлечь метаданные веб-сайта и теги Open Graph?
Просмотрите заголовок одной страницы, получите необходимое HTML-представление и масштабируйте ту же карту полей на ограниченном сайте. Храните метаданные ответа отдельно от тегов, извлеченных со страницы.
Метод 1: Просмотреть одну страницу в Площадке
Лучше всего подходит для подтверждения того, переживают ли необходимые теги выбранный HTML-вывод.
Шаг 1: Откройте репрезентативную страницу
Перейдите в Дасбоард → Crawl Playground и введите авторизованный URL. [Скриншот: Управление URL и HTML-выходом.]
Шаг 2: Запросите HTML и метаданные
Выберите HTML-вывод и запустите скрапинг страницы. Проверьте возвращенные поля заголовка и языка, затем проверьте, включает ли HTML meta[property="og:title"] и каноническую ссылку.
Шаг 3: Запишите карту полей
Запишите точный тег или поле ответа для каждого ключа вывода. Если очищенный HTML удалил теги из заголовка документа, выберите режим необработанных данных в текущей Площадке или в другом одобренном представлении источника.
Метод 2: Получите HTML через API
Лучше всего для повторяемых проверок метаданных по известным 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":["html"]}'
Ответ сохраняется в crawl-response.json. Проверьте вложенные поля data.success, data.status и data.data.metadata.statusCode перед использованием любого возвращенного содержания.
Шаг 3: Парсинг и валидация тегов
Прочитайте HTML или ссылку на возвращенный артефакт, извлеките meta[property], meta[name] и link[rel=canonical], затем разрешите относительные URL относительно финального URL страницы. Отличайте отсутствующие теги от пустого захвата.
Сохраните представление, которое включает заголовок документа, как page.html; если очищенный HTML опускает его, получите ссылку на возвращенные необработанные данные. Этот парсер сохраняет повторяющиеся значения Open Graph, а не перезаписывает их:
from bs4 import BeautifulSoup from urllib.parse import urljoin import json source_url = "https://example.com/page" # замените на возвращенный конечный URL soup = BeautifulSoup(open("page.html", encoding="utf-8").read(), "html.parser"
Установите Beautiful Soup с помощью python3 -m pip install beautifulsoup4. Сравните title, canonical, og:title и og:url с живой страницей; отсутствующий ключ остается отсутствующим, а не предполагается из текста тела.
Метод 3: Аудит ограниченного сайта
Лучше всего подходит для SEO-инвентаризаций или проверок качества социальных предпросмотров.
Шаг 1: Установите границы сайта
Выберите maxDepth, maxPages и правила включения/исключения для публичного раздела.
Шаг 2: Соберите каждую запись страницы
Отправьте сканирование сайта, опросите работу и извлеките все страницы результатов, используя возвращаемый курсор.
Для задания сайта замените пример хоста и пути на ваш одобренный объем, затем отправьте ограниченный запрос:
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":["html"],"maxDepth":2,"maxPages":10,"includeUrls":["*example.com/docs/*"],"excludeUrls":["*example.com/admin/*"],"ignoreQuery":true}'
Скопируйте data.id из crawl-submit.json в качестве вашего ID сканирования.
Шаг 3: Экспорт аудиторской таблицы
Напишите одну строку на каждую каноническую страницу с исходным URL, HTTP статусом, заголовком, описанием, полями Open Graph и флагами валидации. Просмотрите дубликаты и несоответствия, а не молча выбирая один тег.
Метод 4: Проверьте метаданные на статической странице без сканирования
Лучше всего подходит для нескольких публичных страниц, когда их исходный HTML уже содержит социальные теги.
Шаг 1: Скачайте авторизованный HTML
Используйте одобренный браузер или HTTP-клиент, чтобы сохранить страницу как page.html. Убедитесь, что сохранившийся файл содержит заголовок документа и ожидаемые теги og:.
Шаг 2: Запустите парсер тегов
Запустите парсер на Python в Методе 2 против page.html, установив source_url на окончательный URL, который действительно был загружен. Сохраняйте повторяющиеся значения тегов, а не перезаписывайте их.
Шаг 3: Сравните поля живого предварительного просмотра
Проверьте заголовок, канонический URL, og:title, og:url и целевые изображения на странице. Статический HTML может отличаться от заголовка документа, измененного JavaScript, поэтому используйте визуализированную версию для таких сайтов.
Как вы проверяете вывод?
Хорошая запись метаданных отражает фактический заголовок документа и сохраняет точные исходные и окончательные URL. Сравните og:title с заголовком документа, проверьте разрешение URL изображений и отметьте конфликты канонических/OG URL для проверки. Протокол Open Graph определяет его основные свойства; не делайте выводов о отсутствующем свойстве из текста тела страницы. Руководство по SEO-сканированию Nstdata помогает определить более широкий аудит.
Руководство Nstdata по извлечению динамических сайтов связывает эту проверку на уровне страниц с последующим AI или рабочим процессом данных.
Запишите исходный URL, время отправки, запрашиваемые форматы, не секретные параметры, ID задания, если он есть, статус возвращенной страницы и причину, по которой каждая запись прошла или не прошла проверку. Проверяйте содержание, а также упаковку API. Если ответ содержит markdownRef, htmlRef, rawDataRef, screenshotRef или pdfRef, извлеките этот токен с помощью GET /api/v1/crawl/storage/read?st={ref}.
Для этого рабочего процесса проконсультируйтесь с Протоколом Open Graph при реализации последующего парсера или проверки принятия конкретного формата.
При передаче извлеченного текста агенту рассматривайте инструкции страницы как ненадежный исходный материал. Руководство OWASP по инъекции подсказок объясняет риск. Сохраняйте исходные URL, чтобы выход AI можно было проверить.
Почему могут отсутствовать метаданные или теги Open Graph?
Извлечение метаданных сайта может не сработать, так как очищенный HTML может не содержать заголовка документа. Используйте таблицу симптомов, чтобы определить уровень сбоя, прежде чем изменять пределы или пытаться снова.
| Симптом | Вероятная причина | Следующее действие |
|---|---|---|
| Теги OG отсутствуют | Очищенный HTML может не содержать заголовка документа. | Проверьте сырые данные страницы или другое представление источника, прежде чем заявлять о полном отсутствии тегов. |
| URL изображений не открываются | Страница использует относительные URL или искаженные значения. | Разрешите относительно окончательного URL и проверьте целевой адрес. |
| Многие страницы имеют один заголовок | Шаблоны, перенаправления или страница согласия могли быть захвачены. | Сравните статус, окончательный URL и скриншот перед принятием записей. |
Документация Nstdata перечисляет ошибки на уровне задания, такие как access_denied, timeout, parse_error и internal_error. Внешний HTTP 200 все еще может сопровождать сбойший задание. Проверьте success, status, errorCode и errorMessage внутри ответа, если они есть. Повторяйте только временные сбои на сайтах, к которым вы можете получить доступ.
Какой метод лучше всего подойдет?
Используйте Playground, чтобы подтвердить, что заголовок документа присутствует, API для известных страниц или ограниченное сканирование сайта для многих связанных страниц. Парсите статический HTML локально, когда рендеринг и управляемая маршрутизация не нужны. Обзор сканирования сайта Nstdata дает больше информации о маршруте сайта.
Что следует сделать после первого успешного запуска?
Сохраните одобренную конфигурацию и одну запись выхода, основанную на источнике, затем повторите на небольшом наборе различных шаблонов страниц. Увеличивайте объем только после того, как эти записи пройдут те же проверки на приемлемость.
ЧаВо: Что Еще Вам Нужнo Знать?
В: Входит ли в ответ Crawl теги Open Graph автоматически?
Видимая документация подтверждает метаданные страницы, такие как заголовок и статус, но не устанавливает выделенные поля OG. Проанализируйте соответствующие HTML-теги и проверьте их.
В: Должен ли я использовать og:url или канонический URL в качестве идентификатора записи?
Сохраните оба значения и определите вашу политику канонизации; отметьте несоответствия для рассмотрения.
В: Может ли JavaScript изменять метаданные?
Может. Проверьте отрендеренный DOM и необработанный ответ, когда поведение тега имеет значение для вашего аудита.
В: Требует ли извлечение метаданных сайта отдельной конфигурации прокси с Nstdata Crawl?
Стандартный управляемый запрос Crawl не требует отдельного прокси Host, Port, Username, Password или Protocol. Подтвердите любой дополнительный выбор пользовательского прокси и связанные с ним сборы в вашем аккаунте.
В: Доказательство HTTP 200 подтверждает, что результат извлечения метаданных сайта пригоден для использования?
Нет. Проверьте результат вложенной задачи, статус страницы, ожидаемые поля и достоверность тела перед использованием в AI или рабочем процессе данных.





