ForHosting KIT · Web: scraping y monitoreo

Scraping de una web

Indique la dirección de una página y una lista breve que une nombres como precio o título con selectores CSS, y reciba justo esos valores, nombre por nombre: una coincidencia da un valor, varias dan una lista y ninguna da un resultado vacío. Paga por uso, sin suscripción.

● EstablePor solicitud + por URL$0.040
Úselo desde WebAPIEmailTelegramApp pronto

Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.

apunta a selectores CSS y recibe JSON

Señale los datos que ya conoce

Los selectores CSS describen la estructura de las páginas web desde la primera versión de CSS, en 1996, y los navegadores se pusieron de acuerdo hace mucho en cómo aplicarlos. Por eso siguen siendo la forma más rápida y barata de sacar un dato conocido de un diseño conocido. Usted indica la dirección de la página y una lista breve que une cada nombre que elija, como precio o título, con el selector que apunta a él. La página se abre, incluido el contenido que sus scripts añaden después de cargar, y el resultado reproduce su lista nombre por nombre.

Resultados previsibles que se pueden comprobar

A diferencia de las herramientas que interpretan la página, un selector coincide o no coincide: no hay ambigüedad ni valores inventados. Si encuentra un elemento, devuelve su valor; si encuentra varios, una lista, como las filas de una tabla; y si no encuentra nada, un resultado vacío que se detecta al instante. Por eso encaja en tareas repetidas sobre diseños estables, como sacar dirección, precio, superficie y número de fotos de miles de anuncios inmobiliarios con una sola lista de selectores, o revisar cada mañana una página de empleo para ver vacantes nuevas antes de que exista un feed público.

Pensado para quien ya conoce sus selectores

Sirve para monitores de precios, seguimiento de inventario, extracción de anuncios inmobiliarios, vigilancia de bolsas de empleo y cualquier tarea recurrente donde el diseño de la página objetivo sea conocido y razonablemente estable. Define un mapa de selectores una sola vez, nombre de campo a selector CSS, y cada solicitud contra ese mismo tipo de página lo reutiliza.

Selectores CSS: una idea vieja que sigue ganando

Los selectores describen la estructura de un documento desde CSS1 en 1996, y los navegadores estandarizaron la coincidencia tipo querySelector hace décadas, lo cual explica por qué siguen siendo la forma más rápida y barata de extraer un campo conocido de un diseño conocido. A diferencia de un modelo de visión o de lenguaje, un selector coincide o no coincide: cero ambigüedad, cero campos inventados y un resultado que puede probar con un test unitario.

Agregación de anuncios inmobiliarios

Extraiga dirección, precio, metros cuadrados y número de fotos de un sitio de listados usando un único mapa de selectores reutilizado en miles de páginas.

Vigilancia de bolsas de empleo

Extraiga los selectores de título, empresa y fecha de publicación de una página de vacantes cada mañana para detectar nuevas ofertas antes de que exista un feed público.

¿La api de web scraping es gratis para probar?

No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.

¿Funciona con páginas renderizadas en JavaScript?

Sí, la capa de descarga renderiza la página antes de aplicar sus selectores CSS, así que el contenido inyectado por scripts del cliente se puede seleccionar igual que el HTML estático.

¿Qué pasa si mi selector no coincide con nada?

Ese campo vuelve como null en la respuesta en lugar de hacer fallar toda la tarea, así que un selector roto dentro del mapa no bloquea el resto de sus datos.

¿Qué pasa si un scraping falla?

Los intentos fallidos se reintentan automáticamente hasta tres veces; si aun así falla recibe un error claro y nunca se le cobra esa tarea.

¿Qué ocurre si un selector no encuentra nada o encuentra varios elementos?

Si encuentra uno, recibe su valor; si encuentra varios, recibe una lista, como las filas de una tabla; y si no encuentra nada, ese nombre llega vacío. Así ve enseguida qué selector hay que corregir tras un cambio en el sitio.

¿Cuánto tiempo se guardan los resultados?

El resultado terminado espera en un enlace seguro que funciona durante 24 horas; después, los datos se borran. Nunca se usan para entrenar ningún modelo.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/web/scrape-selector

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/web/scrape-selector \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","selectors":{"titulo":"h1","parrafos":"p"}}'
{
  "url": "https://example.com",
  "selectors": {
    "titulo": "h1",
    "parrafos": "p"
  }
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.scrape_selector",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.040
Por URL$0.001

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

timeout_sec30
max_crawl_pages25
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.
422task_failedLa tarea falló tras 3 reintentos. No se cobra.

Le da una URL y un mapa de selectores CSS, y le devuelve exactamente los campos que pidió en JSON estructurado, sin navegador headless que vigilar ni HTML que parsear por su cuenta. Es el endpoint de trabajo para equipos que ya saben con precisión en qué div, span o celda de tabla vive el dato que necesitan.

Pensado para quien ya conoce sus selectores

Si sabe abrir las herramientas de desarrollador, hacer clic derecho sobre un elemento y copiar su selector, este endpoint es para usted.

Qué ocurre después de enviar una solicitud

La llamada a POST /web/scrape-selector devuelve un task_id de inmediato; la descarga y extracción reales corren de forma asíncrona sobre nuestro edge global, incluyendo páginas renderizadas con JavaScript cuando el selector apunta a contenido inyectado del lado del cliente. Al terminar la tarea, el resultado llega a su webhook firmado o queda disponible en un enlace firmado válido durante 24 horas, después de lo cual el dato se elimina y nunca se usa para entrenar modelos.

Qué recibe de vuelta y qué pasa cuando un selector falla

La respuesta refleja su mapa de selectores campo por campo, con arreglos para elementos repetidos como filas de tabla o ítems de lista, y null para un selector que no encontró nada en esa página en particular.

Dónde encaja dentro de un flujo mayor

La mayoría de los equipos encadenan este endpoint detrás de un programador de tareas: disparan un lote de URLs por cron, dejan que cada tarea llegue a un webhook y alimentan el JSON directo a una base de datos, hoja de cálculo o regla de alerta sin que nadie abra la página de origen. Como el precio es una base fija por solicitud más una pequeña tarifa por URL, escala de forma predecible ya sea que vigile cinco precios de la competencia o cinco mil referencias de producto.

Monitoreo de precios de la competencia

Rastree los selectores .price y .stock-status en un conjunto de páginas de producto rivales cada día y alimente el JSON a un panel de precios.

Recolección de datos en tablas

Apunte a un selector de fila de tabla para convertir una tabla HTML de tipos de cambio o especificaciones en un arreglo JSON que su aplicación puede indexar directamente.

¿Cuánto cuesta web.scrape_selector?

$0.040 por solicitud más $0.001 por URL procesada, y solo se cobra cuando la tarea realmente se completa.

¿Puedo extraer varias URLs con un solo mapa de selectores?

Sí, envíe una lista de URLs junto con un único mapa de selectores cuando las páginas comparten el mismo diseño, que es la forma más eficiente de usar este endpoint.

¿Cómo recibo los resultados?

Por envío a su webhook firmado cuando la tarea termina, o mediante un enlace firmado válido por 24 horas si prefiere consultarlo usted mismo.

¿En qué se diferencia de los endpoints de scraping con IA o con esquema?

El scraping por selectores es la opción más rápida y económica cuando ya conoce la ruta CSS exacta de cada campo; los endpoints con IA y con esquema existen para cuando el diseño varía o necesita tipos de dato garantizados.

Ver la documentación completa del KIT →