Saltar al contenido principal
A través del endpoint /v1/scrapes de Olostep puedes extraer Markdown, HTML, texto, capturas de pantalla o JSON estructurado de cualquier URL en tiempo real.
  • Produce markdown limpio, datos estructurados, capturas de pantalla o html
  • Extrae JSON mediante Parsers o extracción LLM
  • Maneja contenido dinámico: sitios renderizados con js, flujos de inicio de sesión mediante acciones, PDFs
Para detalles de la API, consulta la Referencia de la API del Endpoint de Raspado.

Raspado de una URL

Usa el endpoint /v1/scrapes para raspar una sola URL y elegir formatos de salida.

Instalación

# pip install requests

import requests

Uso

Puedes usar el endpoint para raspar una sola URL y elegir formatos de salida. Los parámetros obligatorios son url_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.
import requests
import json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
    "url_to_scrape": "https://en.wikipedia.org/wiki/Alexander_the_Great",
    "formats": ["markdown", "html"]
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
}

response = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(response.json(), indent=2))

Respuesta

La API devuelve un objeto scrape 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. Pasa formats: ["html"] para obtener esto.
  • markdown_content: el contenido MD de la página. Pasa formats: ["markdown"] para obtener esto.
  • text_content: el contenido de texto de la página. Pasa formats: ["text"] para obtener esto.
  • json_content: el contenido JSON de la página. Pasa formats: ["json"] para obtener esto y también proporciona un parámetro parser o llm_extract.
  • screenshot_hosted_url: la URL alojada de la captura de pantalla.
  • html_hosted_url: la URL alojada del contenido HTML
  • markdown_hosted_url: la URL alojada del contenido Markdown
  • json_hosted_url: la URL alojada del contenido JSON
  • text_hosted_url: la URL alojada del contenido de texto
  • links_on_page: los enlaces en la página
  • page_metadata: los metadatos de la página
{
  "id": "scrape_6h89o8u1kt",
  "object": "scrape",
  "created": 1745673871,
  "metadata": {},
  "retrieve_id": "6h89o8u1kt",
  "url_to_scrape": "https://en.wikipedia.org/wiki/Alexander_the_Great",
  "result": {
    "html_content": "<html...",
    "markdown_content": "## Alexander the Great...",
    "text_content": null,
    "json_content": null,
    "screenshot_hosted_url": null,
    "html_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/text_6h89o8u1kt.txt",
    "markdown_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/markDown_6h89o8u1kt.txt",
    "json_hosted_url": null,
    "text_hosted_url": null,
    "links_on_page": [],
    "page_metadata": { "status_code": 200, "title": "" }
  }
}

Formatos de Raspado

Elige uno o más formatos de salida mediante formats:
  • markdown: markdown compatible con LLM
  • html: HTML limpio
  • text: texto plano
  • json: salida estructurada (mediante parser o llm_extract)
  • raw_pdf: bytes de PDF sin procesar extraídos a URL alojada
  • screenshot: configurado mediante acciones para capturar una captura de pantalla y devolver una URL alojada
Las claves de salida se devuelven dentro de 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)

Define formats: ["json"] y proporciona un id de parser.
import requests, json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
  "url_to_scrape": "https://www.google.com/search?q=alexander+the+great&gl=us&hl=en",
  "formats": ["json"],
  "parser": { 
    "id": "@olostep/google-search" 
  }
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>", 
    "Content-Type": "application/json"
}

res = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(res.json(), indent=2))
Olostep tiene algunos parsers preconstruidos para sitios web populares, pero también puedes crear tus propios parsers a través del panel o pedir a nuestro equipo que lo haga por ti. Los parsers son auto-reparables y se actualizarán a la última versión del sitio web.

Usando extracción LLM (esquema y/o prompt)

Proporciona llm_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.
import requests, json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
  "url_to_scrape": "https://www.berklee.edu/events/stefano-marchese-friends",
  "formats": ["markdown", "json"],
  "llm_extract": {
    "schema": {
      "event": {
        "type": "object",
        "properties": {
          "title": {"type": "string"},
          "date": {"type": "string"},
          "description": {"type": "string"},
          "venue": {"type": "string"},
          "address": {"type": "string"},
          "start_time": {"type": "string"}
        }
      }
    }
  }
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
}
res = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(res.json(), indent=2))
Nota: result.json_content devuelve un JSON en forma de cadena. Analízalo en tu código si necesitas un objeto.

Interactuar con la página con Acciones

Realiza acciones antes de raspar para interactuar con sitios dinámicos. Acciones soportadas:
  • wait con milliseconds
  • click con selector
  • fill_input con selector y value
  • scroll con direction y amount
A menudo es útil usar wait antes/después de otras acciones para permitir que la página se cargue.

Ejemplo

import requests, json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
  "url_to_scrape": "https://example.com/login",
  "formats": ["markdown"],
  "actions": [
    {"type": "fill_input", "selector": "input[type=email]", "value": "john@example.com"},
    {"type": "wait", "milliseconds": 500},
    {"type": "fill_input", "selector": "input[type=password]", "value": "secret"},
    {"type": "click", "selector": "button[type=\"submit\"]"},
    {"type": "wait", "milliseconds": 1500}
  ]
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>", 
    "Content-Type": "application/json"
}
res = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(res.json(), indent=2))
La respuesta incluirá cualquier formato solicitado (por 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: Extrae detalles de productos, precios y características de sitios web de competidores
  • Investigación de Mercado: Analiza páginas de aterrizaje, descripciones de productos y testimonios de clientes
  • Investigación Académica: Recolecta datos específicos de publicaciones científicas o portales de investigación
  • Documentación Legal: Extrae estudios de casos, regulaciones o precedentes legales de sitios web oficiales

E-commerce y Retail

  • Estrategias de Precios Dinámicos: Obtén precios de productos en tiempo real de tiendas competidoras
  • Gestión de Información de Productos: Extrae especificaciones detalladas y descripciones
  • Monitoreo de Stock/Inventario: Verifica la disponibilidad de productos en otros minoristas
  • Análisis de Reseñas: Recolecta comentarios y opiniones de consumidores sobre productos específicos

Marketing y Creación de Contenidos

  • Curación de Contenidos: Extrae artículos y publicaciones de blog relevantes para boletines
  • Análisis SEO: Examina el uso de palabras clave, descripciones meta y estructura de página de competidores
  • Generación de Leads: Extrae información de contacto de directorios empresariales o páginas de empresas
  • Investigación de Influencers: Recolecta métricas de participación y estilos de contenido de perfiles de influencers
  • Generación Personalizada de Redes Sociales: Crea marketing en redes sociales impulsado por IA analizando sitios web de clientes

Aplicaciones de Datos

  • Recolección de Datos para Entrenamiento de IA: Recolecta ejemplos específicos para modelos de aprendizaje automático
  • Construcción de Bases de Conocimiento Personalizadas: Extrae documentación o instrucciones de sitios de software
  • Archivos de Datos Históricos: Preserva contenido de sitios web en puntos específicos en el tiempo
  • Extracción de Datos Estructurados: Transforma contenido web en conjuntos de datos formateados para análisis

Monitoreo y Alertas

  • Monitoreo de Cumplimiento Regulatorio: Rastrea cambios en sitios web legales o regulatorios
  • Gestión de Crisis: Monitorea sitios de noticias para menciones de eventos u organizaciones específicas
  • Seguimiento de Eventos: Extrae detalles sobre eventos próximos de sitios de sedes u organizadores
  • Monitoreo de Estado de Servicios: Verifica páginas de estado de servicios para plataformas o herramientas específicas

Publicación y Medios

  • Agregación de Noticias: Extrae noticias de última hora de fuentes oficiales
  • Monitoreo de Medios: Rastrea temas específicos en sitios de noticias
  • Verificación de Contenidos: Extrae información para verificar afirmaciones o declaraciones
  • Extracción Multimedia: Recolecta videos, imágenes o audios incrustados para bibliotecas de medios

Aplicaciones Financieras

  • Investigación de Inversiones: Extrae estados financieros o informes anuales de sitios web de empresas
  • Indicadores Económicos: Recolecta datos económicos de sitios web gubernamentales o de instituciones financieras
  • Datos de Criptomonedas: Extrae información de precios en tiempo real y capitalización de mercado
  • Análisis de Noticias Financieras: Monitorea sitios de noticias financieras para señales de mercado específicas

Aplicaciones Técnicas

  • Extracción de Documentación de API: Recolecta documentación técnica para referencia
  • Pruebas de Integración: Extrae elementos de sitios web para verificar integraciones de terceros
  • Pruebas de Accesibilidad: Analiza la estructura de sitios web para cumplimiento con estándares de accesibilidad
  • Creación de Archivos Web: Captura contenido completo de sitios web para preservación histórica

Escenarios de Integración

  • Sistemas CRM: Mejora perfiles de clientes con datos de sitios web de empresas o Linkedin
  • Sistemas de Gestión de Contenidos: Importa contenido externo relevante
  • Herramientas de Inteligencia Empresarial: Complementa datos internos con información de mercado externa
  • Software de Gestión de Proyectos: Extrae especificaciones o requisitos de sitios web de clientes
  • Dashboards Personalizados: Muestra datos extraídos junto con métricas internas

Precios

El raspado cuesta 1 crédito por defecto. Si también pasas parsers, los costos varían según el parser (1-5 créditos). Si usas LLM extract, cuesta 20 créditos.