Extrayendo Metadatos y Etiquetas de Open Graph a Escala
TL;DR
La extracción de metadata necesita tanto metadata de respuesta a nivel de página como análisis explícito de etiquetas HTML.
Las propiedades de Open Graph son etiquetas meta HTML; un título de respuesta de Crawl por sí solo no proporciona cada campo OG.
Preserva el encabezado del documento, los valores repetidos de og:image, la URL final y la URL canónica en una auditoría.
Resuelve URLs de imágenes relativas y marca campos faltantes o en conflicto en lugar de adivinar valores.
Nstdata Crawl maneja la renderización de JavaScript y el enrutamiento de proxy dentro de solicitudes gestionadas; su documentación enumera seis categorías de salida: Markdown, HTML, datos en bruto, PDF, capturas de pantalla y enlaces.
¿Qué Metadata de Sitio Web Debes Extraer?
La metadata de un sitio web incluye el título del documento, la descripción, el idioma, la URL canónica y etiquetas opcionales de vista previa social como og:title, og:description, og:image y og:url. La metadata de respuesta de Crawl puede describir la página recuperada, pero los campos de Open Graph residen en elementos HTML <meta> y necesitan análisis explícito a menos que un endpoint documentado los exponga. Mantén los valores originales de las etiquetas y la URL final para que una auditoría posterior pueda distinguir una etiqueta ausente de un fallo del analizador.
Nstdata Crawl puede convertir una URL o un conjunto limitado de páginas enlazadas en material para un agente de IA, índice RAG o pipeline de datos. Utiliza tus propias reglas de campo y comprobaciones de aceptación para el resultado específico: recolecta títulos de páginas, descripciones, URLs canónicas y campos de Open Graph de un conjunto limitado de páginas. La guía de crawling de sitio completo de Nstdata explica la opción a nivel de sitio.
Para la tarea más limitada cubierta aquí, la guía de crawling de sitio de Nstdata proporciona un contexto útil para elegir la primera página representativa.
¿Qué Necesitas Antes de Empezar?
Define los campos y las reglas de manejo de duplicados antes de escanear un sitio. Registra si necesitas la URL inicial, la URL final, la URL canónica o og:url; pueden diferir. Decide cómo manejar múltiples valores de og:image, URLs de imágenes relativas, descripciones vacías y páginas localizadas. Utiliza solo páginas públicas o autorizadas, un alcance de URL limitado y una clave Nstdata del lado del servidor para la recolección gestionada.
La documentación de la API de Crawl utiliza https://api.nstdata.io, el encabezado x-api-key y Content-Type: application/json. Prepara estos campos antes de ejecutar un método:
Campo
Qué suministrar
url
Una URL de página o entrada de sitio HTTPS permitida
formats
Salidas solicitadas, tales como ["markdown"] o ["html","screenshot"]
onlyMainContent
true solo cuando la selección del cuerpo principal se ajuste a la tarea
maxDepth, maxPages
Límites explícitos para un trabajo a nivel de sitio
includeUrls, excludeUrls
Patrones de URL que mantengan el descubrimiento dentro del alcance
timeout
Un tiempo de espera para la tarea en milisegundos cuando el valor predeterminado no es adecuado
La solicitud gestionada estándar no tiene campos separados de proxy Host, Puerto, Nombre de Usuario, Contraseña o Protocolo. Consulta la página de precios actual de Crawl para límites de cuenta y cargos antes de ejecutar un trabajo grande.
Revisa la política de acceso y el alcance del objetivo. El Protocolo de Exclusión de Robots define cómo los crawlers leen las reglas de robots; no otorga derechos de uso de contenido. Mantén las credenciales y datos privados fuera de ejemplos y registros de diagnóstico.
¿Cómo Se Almacenan las Etiquetas de Open Graph en una Página?
Las propiedades de Open Graph se almacenan en elementos meta HTML como meta[property="og:title"], generalmente en el encabezado del documento. Nstdata Crawl puede recuperar páginas individuales o un sitio limitado, renderizar JavaScript cuando sea necesario y devolver HTML con metadata de la página. Utiliza la API para la adquisición, luego analiza el encabezado del documento o el HTML devuelto en busca de elementos Open Graph y canónicoss. El enrutamiento gestionado por proxy del servicio no requiere un proxy Host, Puerto, Nombre de Usuario o Contraseña separados en la solicitud estándar. Un crawl de sitio puede descubrir muchas páginas, pero la aplicación aún mapea y valida cada etiqueta.
Para una URL conocida, una extracción de una sola página recupera un resultado. Para una sección del sitio, POST /api/v1/crawl descubre páginas vinculadas recursivamente dentro de la profundidad, el conteo de páginas y las reglas de URL suministradas. La documentación enumera Markdown, HTML, datos en bruto, PDF, capturas de pantalla y enlaces como seis categorías de salida; la página de producto también comercializa JSON, pero un esquema JSON específico de dominio aún necesita un mapeo de campo explícito. Mantenga cada registro aceptado vinculado a su URL de origen y los metadatos devueltos.
Pruebe una página representativa con mucho JavaScript antes de escalar. El estado renderizado puede depender del tiempo, la región, el consentimiento o una sesión iniciada. Compare el HTML devuelto o una captura de pantalla con el estado de la página esperado; si difieren, ajuste solo el control de renderizado documentado y los controles de espera.
¿Cómo extraer metadatos de sitios web y etiquetas de Open Graph?
Inspeccione un encabezado de página, recupere la representación HTML requerida y escale el mismo mapa de campos a través de un sitio limitado. Mantenga los metadatos de respuesta separados de las etiquetas extraídas de la página.
Método 1: Inspeccionar una página en el Playground
Mejor para confirmar si las etiquetas requeridas sobreviven a la salida HTML elegida.
Paso 1: Abrir una página representativa
Navegue a Dashboard → Crawl Playground e ingrese una URL autorizada. [Captura de pantalla: controles de URL y salida HTML.]
Paso 2: Solicitar HTML y metadatos
Elija salida HTML y ejecute la extracción de página. Verifique los campos de título y lengua devueltos, luego inspeccione si el HTML incluye meta[property="og:title"] y un enlace canónico.
Paso 3: Registrar el mapa de campos
Anote la etiqueta exacta o el campo de respuesta para cada clave de salida. Si el HTML limpio eliminó las etiquetas del encabezado del documento, elija un modo de datos en bruto en el Playground actual u otra representación de fuente aprobada.
Método 2: Adquirir HTML a través de la API
Mejor para comprobaciones de metadatos repetibles en URLs conocidas.
Paso 1: Proteger la credencial
Almacene NSTDATA_API_TOKEN del lado del servidor y envíelo como x-api-key.
Paso 2: Recuperar una página representativa
Utilice la solicitud rápida de extracción documentada a continuación. Las etiquetas de ruta de extracción de la documentación actual entran en conflicto en otros lugares, así que verifique la solicitud generada desde su Playground.
Establezca NSTDATA_API_TOKEN en su shell desde su cuenta de Nstdata, luego ejecute la solicitud rápida documentada. La documentación pública etiqueta algunas otras rutas de sincronización y asincronía de manera inconsistente; compare la solicitud generada por su cuenta en el Playground antes de usarla en producción.
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"]}'
La respuesta se guarda en crawl-response.json. Inspeccione los campos anidados data.success, data.status y data.data.metadata.statusCode antes de usar cualquier contenido devuelto.
Paso 3: Analizar y validar etiquetas
Lea la referencia HTML o del artefacto devuelto, analice meta[property], meta[name] y link[rel=canonical], luego resuelva las URL relativas contra la URL de la página final. Distinguir etiquetas faltantes de una captura vacía.
Guarde una representación que incluya el encabezado del documento como page.html; si el HTML limpio lo omite, recupere la referencia de datos en bruto devuelta. Este analizador mantiene valores de Open Graph repetidos en lugar de sobrescribirlos:
from bs4 import BeautifulSoup
from urllib.parse import urljoin
import json
source_url ="https://example.com/page"# reemplazar con la URL final devueltasoup = BeautifulSoup(open("page.html", encoding="utf-8").read(),"html.parser")head = soup.head
if head isNone:raise ValueError("No hay encabezado de documento; solicite datos de página en bruto")tags ={}for tag in head.select("meta[property], meta[name]"): key = tag.get("property")or tag.get("name") tags.setdefault(key.lower(),[]).append(tag.get("content",""))canonical = head.select_one('link[rel="canonical"]')record ={"source_url": source_url,"title": soup.title.get_text(" ", strip=True)if soup.title elseNone,"description": tags.get("description",[None])[0],"canonical": urljoin(source_url, canonical.get("href"))if canonical elseNone,"open_graph":{k:[urljoin(source_url, v)if k in{"og:image","og:url"}else v for v in vals]for k, vals in tags.items()if k.startswith("og:")},}print(json.dumps(record, ensure_ascii=False, indent=2))
Instale Beautiful Soup con python3 -m pip install beautifulsoup4. Compare title, canonical, og:title y og:url con la página en vivo; una clave faltante sigue estando ausente en lugar de ser adivinada a partir del texto del cuerpo.
Método 3: Auditar un sitio limitado
Mejor para inventarios de SEO o comprobaciones de calidad de vista previa social.
Paso 1: Establecer límites del sitio
Elija maxDepth, maxPages e incluya/excluya reglas para la sección pública.
Paso 2: Recopilar cada registro de página
Enviar un rastreo del sitio, sondear el trabajo y recuperar todas las páginas de resultados utilizando el cursor devuelto.
Para un trabajo de sitio, reemplaza el host y la ruta de ejemplo con tu alcance aprobado, luego envía una solicitud limitada:
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}'
Copia data.id de crawl-submit.json como tu ID de rastreo.
Paso 3: Exportar una tabla de auditoría
Escribe una fila por cada página canónica con URL de origen, estado HTTP, título, descripción, campos de Open Graph y banderas de validación. Revisa duplicados y desajustes en lugar de elegir silenciosamente una etiqueta.
Método 4: Inspeccionar metadatos en una página estática sin rastreo
Mejor para unas pocas páginas públicas cuando su HTML original ya contiene las etiquetas sociales.
Paso 1: Descargar el HTML autorizado
Utiliza un navegador o cliente HTTP aprobado para guardar la página como page.html. Confirma que el archivo guardado contiene la cabeza del documento y las etiquetas og: esperadas.
Paso 2: Ejecutar el analizador de etiquetas
Ejecuta el analizador de Python en el Método 2 contra page.html, estableciendo source_url en la URL final realmente descargada. Mantén los valores de etiqueta repetidos en lugar de sobrescribirlos.
Paso 3: Comparar los campos de vista previa en vivo
Revisa el título, URL canónica, og:title, og:url y destinos de imagen en comparación con la página. El HTML estático puede diferir de una cabeza de documento modificada por JavaScript, así que utiliza una captura renderizada para tales sitios.
¿Cómo verificas la salida?
Un buen registro de metadatos refleja la cabeza del documento real y mantiene las URL de origen y finales exactas. Compara og:title con el título del documento, valida la resolución de la URL de la imagen y marca conflictos de URL canónica/OG para revisión. El protocolo Open Graph define sus propiedades fundamentales; no infieras una propiedad ausente a partir del texto del cuerpo de la página. La guía de rastreo SEO de Nstdata ayuda a determinar un alcance de auditoría más grande.
Registra la URL de origen, el tiempo de envío, los formatos solicitados, las opciones no secretas, el ID de tarea cuando esté presente, el estado de la página devuelta y el motivo por el cual cada registro pasó o falló la revisión. Inspecciona el contenido así como el sobre de la API. Si la respuesta contiene markdownRef, htmlRef, rawDataRef, screenshotRef o pdfRef, recupera ese token con GET /api/v1/crawl/storage/read?st={ref}.
Para este flujo de trabajo, consulta el protocolo Open Graph al implementar el analizador posterior o la verificación de aceptación específica del formato.
Al pasar texto extraído a un agente, trata las instrucciones de la página como material de origen no confiable. La guía de OWASP sobre inyección de mensajes explica el riesgo. Retén las URL de origen para que la salida de IA pueda ser revisada.
¿Por qué podrían faltar los metadatos o las etiquetas de Open Graph?
La extracción de metadatos del sitio web puede fallar porque el HTML limpio puede omitir la cabeza del documento. Utiliza la tabla de síntomas para identificar la capa que falla antes de cambiar límites o intentar nuevamente.
Síntoma
Causa probable
Próxima acción
Las etiquetas OG faltan
El HTML limpio puede omitir la cabeza del documento.
Inspecciona los datos de la página en crudo u otra representación de origen antes de declarar etiquetas ausentes.
Las URL de imágenes no se abren
La página utiliza URL relativas o valores mal formados.
Resuelve contra la URL final y prueba el destino.
Muchas páginas comparten un título
Plantillas, redirecciones o una página de consentimiento pueden haber sido capturadas.
Compara el estado, la URL final y la captura de pantalla antes de aceptar registros.
La documentación de Nstdata enumera errores a nivel de tarea como access_denied, timeout, parse_error e internal_error. Un HTTP 200 externo aún puede acompañar a una tarea fallida. Revisa success, status, errorCode y errorMessage dentro de la respuesta cuando estén presentes. Vuelve a intentar solo fallos transitorios en sitios a los que puedas acceder.
¿Qué método es el más adecuado?
Utiliza Playground para confirmar que la cabeza del documento está presente, la API para páginas conocidas o un rastreo limitado de sitios para muchas páginas enlazadas. Analiza HTML estático localmente cuando la representación y el enrutamiento gestionado no son necesarios. La visión general del rastreo de sitios de Nstdata da más detalles sobre la ruta del sitio.
¿Qué debes hacer después de la primera ejecución exitosa?
Guarda la configuración aprobada y un registro de salida respaldado por la fuente, luego repite en un pequeño conjunto de diferentes plantillas de páginas. Aumenta el alcance solo después de que esos registros pasen las mismas verificaciones de aceptación.
Q: ¿Incluye la respuesta de Crawl automáticamente las etiquetas de Open Graph?
La documentación visible confirma los metadatos de la página, como el título y el estado, pero no establece campos OG dedicados. Analiza las etiquetas HTML relevantes y valídalas.
Q: ¿Debería usar og:url o URL canónica como el ID del registro?
Mantén ambos valores y define tu política de canonización; señala las discrepancias para revisión.
Q: ¿Puede JavaScript alterar los metadatos?
Sí puede. Inspecciona el DOM renderizado y la respuesta en bruto cuando el comportamiento de las etiquetas sea importante para tu auditoría.
Q: ¿La extracción de metadatos de sitios web requiere una configuración de proxy separada con Nstdata Crawl?
Una solicitud de Crawl gestionada estándar no requiere campos de proxy Host, Port, Username, Password o Protocol separados. Confirma cualquier selección de proxy personalizada opcional y los cargos relacionados en tu cuenta.
Q: ¿HTTP 200 prueba que el resultado de la extracción de metadatos de un sitio web es utilizable?
No. Verifica el resultado de la tarea anidada, el estado de la página, los campos esperados y la fidelidad del cuerpo antes de usarlo en un flujo de trabajo de IA o de datos.
Este tutorial de Python pasa de una página estática a registros validados y renderizado gestionado. Incluye ejemplos ejecutables, diagnóstico de fallos, controles de versión y un contrato de datos listo para inteligencia artificial.
Marcus Chen
Oct. 29th 2026
Descubre Nstproxy Crawl - Empieza Tu Prueba Gratuita Hoy
Rastrea sitios web completos con una sola solicitud API
Convierte cualquier sitio web en Markdown, HTML, JSON, enlaces, PDF y más, sin gestionar infraestructura de rastreo.
99,8% de éxito con renderizado JavaScript
Obtén datos limpios, listos para LLM, en múltiples formatos