Agregación de ofertas de empleo
Recopila ofertas de portales de empleo que paginan, cargan en diferido o exigen inicio de sesión. Controla un navegador real y unifícalos en un único esquema JSON.
Respuesta rápida
Usa scrape_with_actions (5 credits) para hacer clic en "cargar más", desplazarte o iniciar sesión de modo que las ofertas se rendericen de verdad, y luego extract_structured (3 credits) para mapear cada oferta a tu propio esquema JSON -- puesto, ubicación, salario, indicador de remoto. Unos 8 credits por página de portal, y un solo esquema cubre portales con marcado distinto.
El problema
Los portales de empleo esconden sus ofertas detrás de botones de "cargar más", scroll infinito y muros de inicio de sesión, así que una petición HTTP simple devuelve una carcasa vacía. Además, cada portal nombra sus campos de forma distinta, lo que rompe los scrapers basados en selectores en cuanto llega el siguiente rediseño.
La solución
scrape_with_actions de CrawlForge controla un navegador real -- clic, escritura, scroll, espera -- para que las ofertas se rendericen antes de la extracción, y extract_structured mapea el marcado que use cada portal a un único esquema JSON que tú defines.
Ejemplo de código
// Load a paginated board, then extract each posting as JSON
const board = await mcp.scrape_with_actions({
url: "https://boards.example.com/jobs?team=engineering",
actions: [
{ type: "wait", selector: ".job-card", condition: "visible" },
{ type: "click", selector: "button.load-more", clickCount: 3 },
{ type: "scroll", direction: "down", distance: 4000 },
],
formats: ["json", "markdown"],
});
// One schema, any board layout
const posting = await mcp.extract_structured({
url: "https://boards.example.com/jobs/senior-backend-engineer",
schema: {
type: "object",
properties: {
title: { type: "string" },
location: { type: "string" },
salaryRange: { type: "string" },
remote: { type: "boolean" },
postedAt: { type: "string" },
},
required: ["title"],
},
});
console.log(posting.data);Herramientas utilizadas
Costo estimado: ~8 credits por página de portal
Preguntas frecuentes
¿Cómo hago scraping de portales de empleo con scroll infinito?
Usa scrape_with_actions para controlar un navegador real: espera al selector del listado, haz clic en el botón de cargar más y desplázate antes de que se ejecute la extracción. Las ofertas se renderizan primero, así que obtienes contenido real en lugar de una carcasa vacía.
¿Puede CrawlForge hacer scraping de páginas detrás de un inicio de sesión?
Sí. scrape_with_actions admite acciones de escritura y clic además de formAutoFill, así que puede enviar credenciales y hacer scraping de la página siguiente. Inicia sesión únicamente en cuentas que te pertenezcan o para las que tengas autorización.
¿Cómo normalizo ofertas de portales con marcado distinto?
Define un único esquema JSON —puesto, ubicación, rango salarial, indicador de remoto, fecha de publicación— y pásaselo a extract_structured. Mapea el marcado de cada portal a tu forma, y recurre a selectores CSS cuando no hay ningún LLM configurado.
¿Cuánto cuesta agregar un portal de empleo?
Unos 8 credits cubren una página de portal: 5 de la pasada del navegador con scrape_with_actions y 3 por cada llamada a extract_structured sobre una oferta. Usa batch_scrape cuando estés extrayendo cientos de páginas de detalle al día.
¿Listo para comenzar?
Cada cuenta nueva recibe 1,000 credits gratis. No se requiere tarjeta de crédito.
Comienza gratis con 1,000 credits