Cómo raspar y analizar sitemaps para el rastreo completo del sitio
TL;DR
Un sitemap es un input de descubrimiento, no una prueba de que cada página listada sea accesible o valga la pena rastrearla.
Un índice de sitemap apunta a otros sitemaps; un conjunto de URL lista páginas candidatas.
La inclusión en un sitemap no establece derechos de acceso, frescura o cobertura completa del sitio.
Compara un manifiesto de sitemap filtrado con un resultado de rastreo recursivo limitado para encontrar brechas.
Nstdata Crawl maneja la renderización de JavaScript y el enrutamiento 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é es un Sitemap y por Qué Analizarlo?
Un sitemap es un documento XML que lista URLs de páginas, o un índice que lista otros documentos sitemap. Analizarlo te proporciona candidatos para un plan de rastreo. No prueba que cada URL esté actual, canónica, vinculada internamente o sea apropiada para tu uso. La cobertura completa del sitio también puede requerir descubrimiento de enlaces porque algunas páginas están ausentes del sitemap. Combina ambas entradas bajo límites de host, ruta, profundidad y páginas.
Nstdata Crawl puede convertir una URL o un conjunto limitado de páginas vinculadas en material para un agente de IA, índice RAG o canal de datos. Utiliza tus propias reglas de campo y verificaciones de aceptación para el resultado específico: descubre URLs autorizadas de sitemaps y convierte un subconjunto revisado en un rastreo de sitio limitado. La guía de rastreo completo de Nstdata explica la opción a nivel de sitio.
Descubre Nstproxy Crawl - Empieza Tu Prueba Gratuita Hoy
¿Qué Necesitas Antes de Empezar?
Comienza con un sitio que posees o que puedes rastrear. Verifica /robots.txt para declaraciones de sitemap y reglas de acceso, luego inspecciona el índice de sitemap o el conjunto de URL. Registra el host permitido, prefijos de ruta, tipos de archivos, idioma y cantidad máxima de páginas. Excluye cuentas, carritos, búsquedas, calendarios y rutas de consulta duplicadas a menos que sea necesario. Mantén un manifiesto de URLs candidatas, aceptadas, rechazadas y realmente rastreadas.
La documentación de la API de rastreo 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é proporcionar
url
Una página o URL de entrada HTTPS permitida
formats
Salidas solicitadas, 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 mantienen el descubrimiento dentro del alcance
timeout
Un tiempo de espera para la tarea en milisegundos cuando el predeterminado no sea adecuado
La solicitud gestionada estándar no tiene campos separados para Host, Puerto, Nombre de Usuario, Contraseña o Protocolo de proxy. Consulta la página de precios actual de Crawl para conocer los límites y cargos de la cuenta 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 rastreadores 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.
La guía de rastreo completo de Nstdata es un complemento para definir las verificaciones de aceptación antes de automatizar el flujo de trabajo.
¿Cómo Funcionan los Índices de Sitemap y los Conjuntos de URL?
Un urlset contiene entradas de página <loc>. Un sitemapindex contiene entradas de sitemap hijo <loc> que pueden ser archivos XML o comprimidos. Nstdata Crawl puede descubrir URLs a partir de estructuras de sitio y seguir enlaces internos de manera recursiva dentro de las reglas configuradas maxDepth, maxPages, incluir y excluir. La renderización de JavaScript ayuda en páginas dinámicas, y el enrutamiento proxy está integrado en el servicio gestionado. La API no elimina la necesidad de revisar las URLs candidatas y los derechos de rastreo.
Para una URL conocida, un rastreo de una sola página recupera un resultado. Para una sección del sitio, POST /api/v1/crawl descubre páginas vinculadas de manera recursiva dentro de la profundidad, cantidad de páginas y reglas de URL proporcionadas. La documentación enumera Markdown, HTML, datos en bruto, PDF, capturas de pantalla y enlaces como seis categorías de salida; la página del producto también comercializa JSON, pero un esquema JSON específico de dominio aún necesita un mapeo de campos explícito. Mantén cada registro aceptado vinculado a su URL de origen y metadatos devueltos.
Prueba una página representativa que tenga mucho JavaScript antes de escalar. El estado renderizado puede depender del tiempo, la región, el consentimiento o una sesión iniciada. Compara el HTML devuelto o una captura de pantalla con el estado de página esperado; si difieren, ajusta solo el renderizado documentado y los controles de espera.
¿Cómo se analiza un Sitemap y se rastrea el sitio?
Analiza y filtra primero los candidatos a sitemap, utiliza un descubrimiento de rastreo limitado para encontrar páginas vinculadas, y mantiene un manifiesto para verificaciones de cobertura repetibles. Un sitemap y un rastreo recursivo responden a preguntas de descubrimiento relacionadas pero diferentes.
Método 1: Inspeccionar el sitemap antes de rastrear
Mejor para un sitio pequeño o para una revisión de descubrimiento puntual.
Paso 1: Encontrar las declaraciones de sitemap
Abre el /robots.txt del sitio y busca líneas que contengan Sitemap:. Si no se declaran, prueba solo la ubicación del sitemap documentado del sitio; no asumas que todos los sitios utilizan /sitemap.xml.
Paso 2: Clasificar el XML
Determina si la raíz es sitemapindex o urlset. Sigue las URL del sitemap hijo solo dentro del host aprobado y evita una obtención recursiva ilimitada. [Captura de pantalla: raíz XML y entradas <loc>.]
Utiliza un analizador limitado en lugar de copiar los valores <loc> a mano. Este ejemplo de biblioteca estándar acepta una URL de sitemap, sigue como máximo tres niveles de índice de sitemap, se mantiene en el host original y imprime las URL de las páginas:
from urllib.request import urlopen
from urllib.parse import urlparse
from xml.etree import ElementTree as ET
import gzip, sys
start = sys.argv[1]host = urlparse(start).hostname
seen =set()defvisit(url, depth=0):if depth >3or url in seen or urlparse(url).hostname != host:return seen.add(url)with urlopen(url, timeout=20)as response: raw = response.read(10_000_001)iflen(raw)>10_000_000:raise ValueError("El sitemap supera el límite de tamaño de revisión")if url.endswith(".gz"): raw = gzip.decompress(raw) root = ET.fromstring(raw) ns ={"s":"http://www.sitemaps.org/schemas/sitemap/0.9"}if root.tag.endswith("sitemapindex"):for loc in root.findall("s:sitemap/s:loc", ns): visit(loc.text.strip(), depth +1)elif root.tag.endswith("urlset"):for loc in root.findall("s:url/s:loc", ns):if urlparse(loc.text.strip()).hostname == host:print(loc.text.strip())else:raise ValueError("Raíz de sitemap inesperada")visit(start)
Guárdalo como parse_sitemap.py y ejecuta python3 parse_sitemap.py https://example.com/sitemap.xml > urls.txt. Revisa y deduplica urls.txt antes de rastrear; el script no otorga permiso para recolectar las páginas listadas.
Paso 3: Revisar candidatos
Normaliza y deduplica las URL, luego filtra por host aprobado, ruta, idioma y tipo de contenido. Una URL listada es un candidato, no una página aceptada.
Método 2: Usar Nstdata Crawl para un descubrimiento limitado
Mejor cuando el descubrimiento de enlaces debe complementar el sitemap.
Paso 1: Almacenar la clave API
Mantén NSTDATA_API_TOKEN del lado del servidor y envíala como x-api-key.
Paso 2: Enviar un trabajo encuadrado
Utiliza POST /api/v1/crawl con una URL de inicio, maxDepth, maxPages, incluye/excluye reglas de URL, y formatos requeridos. El ejemplo a continuación sigue la forma de solicitud de rastreo del sitio oficial.
Establece NSTDATA_API_TOKEN en tu shell desde tu cuenta de Nstdata, luego ejecuta la solicitud de inicio rápido documentada. La documentación pública etiqueta inconsistente algunos otros caminos sincrónicos y asincrónicos; compara la solicitud generada en el Playground de tu cuenta antes de su uso en producción.
curl--output crawl-response.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}'
La respuesta se guarda en crawl-response.json. Inspecciona los campos anidados data.success, data.status, y data.data.metadata.statusCode antes de utilizar cualquier contenido devuelto.
Paso 3: Comparar la cobertura
Consulta el ID de rastreo, recupera páginas y compara las URL devueltas con tu manifiesto de sitemap. Investiga las páginas de alto valor faltantes y los caminos inesperados en lugar de asumir que el descubrimiento fue completo.
Método 3: Mantener un manifiesto de URL repetible
Mejor para documentaciones recurrentes o actualizaciones de catálogo.
Paso 1: Capturar candidatos
Guarda la URL normalizada, el sitemap fuente y el tiempo de descubrimiento para cada candidato aprobado.
Paso 2: Rastrear resultados de rastreo
Registra el estado obtenido, el hash de contenido y la razón de rechazo por URL. Mantén los cambios del sitemap separados de los cambios de contenido.
Paso 3: Actualizar de forma selectiva
Revisita páginas cambiadas o de alto valor a un ritmo permitido por el objetivo. Evita volver a rastrear secciones grandes inalteradas solo porque cambió la marca de tiempo del sitemap.
¿Cómo verificas la salida?
Un manifiesto de rastreo de sonido distingue entre URLs listadas, URLs descubiertas, URLs recuperadas y contenido aceptado. Esos conjuntos pueden diferir. El protocolo de sitemaps define elementos sitemapindex, urlset y <loc>, mientras que Google Search Central señala que un sitemap ayuda al descubrimiento sin garantizar un rastreo. La guía de Nstdata para encontrar páginas web cubre métodos de descubrimiento complementarios.
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 la razón por la que 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 protocolo de sitemaps al implementar el analizador en curso 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 fuente no confiable. La guía de OWASP sobre inyección de aviso explica el riesgo. Retén las URL de origen para que la salida de la IA pueda ser verificada.
¿Por qué podría fallar el descubrimiento de sitemaps?
El rastreo basado en sitemaps puede fallar porque el archivo raíz es un índice de sitemap. Usa la tabla de síntomas para identificar la capa fallida antes de cambiar los límites o intentar nuevamente.
Síntoma
Causa probable
Próxima acción
Solo se analiza el primer sitemap
El archivo raíz es un índice de sitemap.
Sigue las entradas <loc> secundarias con un límite de profundidad y host.
Muchas URLs listadas fallan
El sitemap está desactualizado o el acceso está restringido.
Verifica el estado final y las reglas de destino; rechaza candidatos inaccesibles.
El rastreo se pierde en páginas esperadas
La profundidad, el límite, las reglas de URL o enlaces faltantes restringen el descubrimiento.
Compara el manifiesto con las URLs devueltas y ajusta un límite.
La documentación de Nstdata enumera errores a nivel de tarea como access_denied, timeout, parse_error y internal_error. Un HTTP 200 externo puede acompañar una tarea fallida. Verifica success, status, errorCode y errorMessage dentro de la respuesta cuando esté presente. Intenta nuevamente solo fallas transitorias en sitios que puedas acceder.
¿Qué método es el mejor para tu caso?
Analiza el sitemap para un manifiesto candidato, usa Nstdata Crawl para el descubrimiento limitado de páginas enlazadas y mantiene un manifiesto cuando se debe actualizar la cobertura. Compara las URLs descubiertas y aceptadas después de cada ejecución. La visión general de rastreo de sitios de Nstdata proporciona 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ágina. Aumenta el alcance solo después de que esos registros pasen las mismas verificaciones de aceptación.
No. Los sitios pueden omitir páginas, mantener URLs desactualizadas o listar URLs fuera de la sección que necesitas. Compara con el descubrimiento de enlaces internos.
P: ¿Puede Nstdata Crawl usar un sitemap y seguir enlaces?
Su página de producto describe el descubrimiento de sitemap y enlaces; delimita el trabajo con profundidad, conteo de páginas y reglas de URL.
P: ¿Está una URL en un sitemap permiso para rastrearla?
No. Revisa las reglas del objetivo y tu autoridad para usar el contenido antes de la recolección.
P: ¿El rastreo basado en sitemap requiere una configuración de proxy separada con Nstdata Crawl?
Una solicitud de Crawl administrada estándar no requiere campos separados de Host, Puerto, Nombre de usuario, Contraseña o Protocolo para el proxy. Confirme cualquier selección de proxy personalizada opcional y los cargos asociados en su cuenta.
Q: ¿Probar un resultado de rastreo basado en un sitemap es utilizable?
No. Verifique 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 datos.
Este tutorial muestra cómo descubrir URLs autorizadas a partir de sitemaps y convertir un subconjunto revisado en un rastreo de sitio limitado. Cubre métodos prácticos, verificaciones de resultados y los límites del rastreo gestionado.
Kai Watanabe
Oct. 28th 2026
Rastrea sitios web completos con una sola solicitud API
99,8% de éxito con renderizado JavaScript
Obtén datos limpios, listos para LLM, en múltiples formatos
Convierte cualquier sitio web en Markdown, HTML, JSON, enlaces, PDF y más, sin gestionar infraestructura de rastreo.