/v1/scrapes de Olostep puedes extraer Markdown, HTML, texto, capturas de pantalla o JSON estructurado amigable para LLM desde cualquier URL en tiempo real.
- Genera markdown limpio, datos estructurados, capturas de pantalla o html
- Extrae JSON a través de Parsers o extracción LLM
- Maneja contenido dinámico: sitios renderizados con js, flujos de inicio de sesión mediante acciones, PDFs
Raspando una URL
Utiliza el endpoint/v1/scrapes para raspar una sola URL y elegir formatos de salida.
Instalación
Uso
Puedes usar el endpoint para raspar una sola URL y elegir formatos de salida. Los parámetros obligatorios sonurl_to_scrape y formats.
Algunos otros parámetros comunes son wait_before_scraping (en milisegundos), remove_css_selectors (por defecto, ninguno, o un array de selectores), y country.
Respuesta
La API devuelve un objetoscrape en respuesta.
El scrape tiene algunas propiedades como id y result.
El objeto result tiene los siguientes campos (según el parámetro formats, algunos podrían ser nulos):
html_content: el contenido HTML de la página. Pasaformats: ["html"]para obtener esto.markdown_content: el contenido MD de la página. Pasaformats: ["markdown"]para obtener esto.text_content: el contenido de texto de la página. Pasaformats: ["text"]para obtener esto.json_content: el contenido JSON de la página. Pasaformats: ["json"]para obtener esto y también proporciona un parámetroparserollm_extract.screenshot_hosted_url: la URL alojada de la captura de pantalla.html_hosted_url: la URL alojada del contenido HTMLmarkdown_hosted_url: la URL alojada del contenido Markdownjson_hosted_url: la URL alojada del contenido JSONtext_hosted_url: la URL alojada del contenido de textolinks_on_page: los enlaces en la páginapage_metadata: los metadatos de la página
Caché
Para optimizar la velocidad, Olostep proporciona una capa de caché compartida opcional para resultados de HTML, Markdown, texto y JSON analizado.Cómo funciona
Cuando se solicita un raspado, Olostep verifica si ya existe un raspado coincidente con los mismos parámetros. Si se encuentra una coincidencia lo suficientemente reciente, el contenido se sirve instantáneamente desde el almacenamiento de Olostep sin iniciar un nuevo raspado en el navegador.- Caché Compartida: La caché se comparte globalmente. Si otra solicitud raspó exactamente la misma URL con la misma configuración dentro de tu ventana de frescura, te beneficias de la aceleración.
- El post-procesamiento sigue en vivo: Operaciones como
llm_extracty filtroslinks_on_pagese ejecutan en el momento sobre el documento en caché. Solo cacheas la recuperación de la página principal, manteniendo tus extracciones estructuradas dinámicas.
Frescura y max_age
Por defecto, la API de producción siempre realiza un raspado en vivo para garantizar precisión en tiempo real. Puedes optar por usar caché utilizando el parámetro max_age.
- Comportamiento Predeterminado de la API (
max_age: 0): Cada solicitud de la API desencadena un raspado fresco. - Comportamiento Predeterminado del Playground: En el playground del panel,
max_agepredetermina a 24 horas (86400segundos). - Edad Máxima: La caché tiene un límite máximo de 7 días (
604800segundos). Cualquiermax_agesolicitado por encima de este límite volverá a un máximo de 7 días.
Ejemplos de Uso
¿Cuándo se omite la caché?
La caché se omite automáticamente (forzando un raspado en vivo) cuando tu solicitud necesita:- Sesiones interactivas: Solicitudes que usan
session_ido cargan uncontextde navegador personalizado. - Capturas de pantalla: Cualquier solicitud que incluya
screenshoten formatos o configure la opción de captura de pantalla omite la caché. - Tipos de archivo especiales: Descargas de archivos binarios o renderización de PDF en bruto.
- Depuración y Red: Capturar
network_callso usar trabajos de parser asíncronos.
Extrayendo enlaces
Pasa un objetolinks_on_page en la solicitud para recopilar los enlaces encontrados en la página. Todos los enlaces se devuelven como URLs absolutas.
include_links/exclude_links: patrones glob coinciden con la ruta de la URL de cada enlace.query_to_order_links_by: reordena los enlaces devueltos por relevancia a este texto.
Los patrones glob coinciden con los segmentos de ruta. Un solo
* no cruza /, por lo que "/blog/*" coincide con "/blog/post-1" pero no con el índice "/blog" en sí mismo — y nunca coincide con "/blog?tag=x" porque las cadenas de consulta no son parte de la ruta. Para incluir también el índice, usa "/blog*" o "{/blog,/blog/**}".Formatos de Raspado
Elige uno o más formatos de salida a través deformats:
markdown: markdown amigable para LLMhtml: HTML limpiotext: texto planojson: salida estructurada (a través de parser o llm_extract)raw_pdf: bytes de PDF en bruto extraídos a URL alojadascreenshot: configurado a través de acciones para capturar una captura de pantalla y devolver una URL alojada
result como campos *_content y también un *_hosted_url.
Extraer datos estructurados
Puedes extraer JSON estructurado de dos maneras: usando Parsers o extracción LLM.Usando un Parser (recomendado para escala)
Defineformats: ["json"] y proporciona un id de parser.
Usando extracción LLM (esquema y/o prompt)
Proporcionallm_extract con un Esquema JSON (schema) y/o una instrucción en lenguaje natural (prompt). Puedes pasar ambos parámetros, pero si se proporcionan ambos, schema tiene prioridad.
En cambio, si solo pasas un prompt, el LLM extraerá los datos basándose en el prompt y decidirá la estructura de los datos por sí mismo.
result.json_content devuelve un JSON en forma de cadena. Analízalo en tu código si necesitas un objeto.
Precios: llm_extract cuesta 10 créditos por raspado. Para reducir el costo, puedes traer tus propias claves API o habilitar precios basados en uso. Contacta a info@olostep.com para obtener acceso.
Extraer enlaces en la página
Con la opciónlinks_on_page, puedes extraer todos los enlaces presentes en la página que raspas. Acepta los siguientes parámetros para ayudar a filtrar y ordenar los enlaces extraídos:
absolute_links(booleano, por defecto:true): Cuando es verdadero, devuelve URLs completas (por ejemplo,https://example.com/page) en lugar de rutas relativas (por ejemplo,/page).query_to_order_links_by(cadena): Ordena los enlaces devueltos por su similitud con el texto de consulta proporcionado, priorizando las coincidencias más relevantes primero.include_links(array de cadenas): Filtra los enlaces extraídos usando patrones glob. Usa patrones como*.pdfpara coincidir con extensiones de archivo,/blog/*para rutas específicas, o URLs completas comohttps://example.com/*. Soporta comodines (*), clases de caracteres ([a-z]), y alternancia ({pattern1,pattern2}).exclude_links(array de cadenas): Excluye enlaces específicos usando patrones glob, siguiendo la misma sintaxis queinclude_links.
Interactuando con la página con Acciones
Realiza acciones antes de raspar para interactuar con sitios dinámicos. Acciones soportadas:waitconmillisecondsclickconselectorfill_inputconselectoryvaluescrollcondirectionyamount
wait antes/después de otras acciones para permitir que la página se cargue.
Ejemplo
markdown_content).
Casos de Uso
A continuación se presentan algunas aplicaciones prácticas de clientes que utilizan el endpoint/scrapes.
Análisis de Contenido e Investigación
- Análisis Competitivo: Extraer detalles de productos, precios y características de sitios web de competidores
- Investigación de Mercado: Analizar páginas de aterrizaje, descripciones de productos y testimonios de clientes
- Investigación Académica: Recopilar datos específicos de publicaciones científicas o portales de investigación
- Documentación Legal: Extraer estudios de caso, regulaciones o precedentes legales de sitios web oficiales
Comercio Electrónico y Retail
- Estrategias de Precios Dinámicos: Obtener precios de productos en tiempo real de tiendas competidoras
- Gestión de Información de Productos: Extraer especificaciones detalladas y descripciones
- Monitoreo de Stock/Inventario: Verificar la disponibilidad de productos en otros minoristas
- Análisis de Reseñas: Recopilar comentarios de consumidores y sentimientos para productos específicos
Marketing y Creación de Contenidos
- Curación de Contenidos: Extraer artículos relevantes y publicaciones de blog para boletines informativos
- Análisis SEO: Examinar el uso de palabras clave de los competidores, descripciones meta y estructura de página
- Generación de Leads: Extraer información de contacto de directorios de negocios o páginas de empresas
- Investigación de Influencers: Recopilar métricas de participación y estilos de contenido de perfiles de influencers
- Generación Personalizada de Redes Sociales: Crear marketing en redes sociales impulsado por IA analizando sitios web de clientes
Aplicaciones de Datos
- Recolección de Datos de Entrenamiento de IA: Recopilar ejemplos específicos para modelos de aprendizaje automático
- Construcción de Bases de Conocimiento Personalizadas: Extraer documentación o instrucciones de sitios de software
- Archivos de Datos Históricos: Preservar contenido de sitios web en puntos específicos en el tiempo
- Extracción de Datos Estructurados: Transformar contenido web en conjuntos de datos formateados para análisis
Monitoreo y Alertas
- Monitoreo de Cumplimiento Regulatorio: Rastrear cambios en sitios web legales o regulatorios
- Gestión de Crisis: Monitorear sitios de noticias para menciones de eventos o organizaciones específicas
- Seguimiento de Eventos: Extraer detalles sobre eventos próximos de sitios de lugares u organizadores
- Monitoreo de Estado de Servicio: Verificar páginas de estado de servicio para plataformas o herramientas específicas
Publicación y Medios
- Agregación de Noticias: Extraer noticias de última hora de fuentes oficiales
- Monitoreo de Medios: Rastrear temas específicos a través de sitios de noticias
- Verificación de Contenidos: Extraer información para verificar afirmaciones o declaraciones
- Extracción Multimedia: Recopilar videos, imágenes o audio incrustados para bibliotecas de medios
Aplicaciones Financieras
- Investigación de Inversiones: Extraer estados financieros o informes anuales de sitios web de empresas
- Indicadores Económicos: Recopilar datos económicos de sitios web gubernamentales o de instituciones financieras
- Datos de Criptomonedas: Extraer información de precios en tiempo real y capitalización de mercado
- Análisis de Noticias Financieras: Monitorear sitios de noticias financieras para señales de mercado específicas
Aplicaciones Técnicas
- Extracción de Documentación de API: Recopilar documentación técnica para referencia
- Pruebas de Integración: Extraer elementos de sitios web para verificar integraciones de terceros
- Pruebas de Accesibilidad: Analizar la estructura de sitios web para cumplir con estándares de accesibilidad
- Creación de Archivos Web: Capturar contenido completo de sitios web para preservación histórica
Escenarios de Integración
- Sistemas CRM: Mejorar perfiles de clientes con datos de sitios web de empresas o Linkedin
- Sistemas de Gestión de Contenidos: Importar contenido externo relevante
- Herramientas de Inteligencia de Negocios: Complementar datos internos con información de mercado externa
- Software de Gestión de Proyectos: Extraer especificaciones o requisitos de sitios web de clientes
- Paneles Personalizados: Mostrar datos extraídos junto con métricas internas
Manejo de Errores
Todos los errores siguen una forma de sobre compartida. Verificaerror.type y error.code para ramificar programáticamente:
Falla de DNS (400)
El dominio no se resuelve. Verifica la URL en busca de errores tipográficos.Error de TLS/SSL (502)
El sitio web de destino tiene una configuración HTTPS rota o incompatible.error.detail proporciona el código de error SSL específico para diagnósticos; error.code siempre es tls_error.