

# Por qué un extractor de empleos devuelve menos resultados de los esperados

Revise los filtros de entrada solicitados, el tope de filas compartido, el límite de páginas, el motivo de detención de la ejecución y las fallas de la fuente antes de concluir que una búsqueda de empleos no tuvo resultados. Una búsqueda correcta con cero empleos, una exportación detenida por un límite y una solicitud web fallida necesitan correcciones distintas. Un tope es una cantidad máxima fija de filas que usted permite que el sistema recolecte. Un motivo de detención es un mensaje guardado que explica por qué terminó la recolección de datos.

Un recolector automatizado en la web se llama Actor. Un conjunto guardado de ajustes de un Actor se llama Task. Cuando un extractor de empleos exporta solo 5 empleos aunque una página web muestra 50 o más, las personas suelen suponer que la paginación causó las filas faltantes. La paginación es la forma en que un sitio web divide una lista larga en varias páginas. Suponer es inseguro porque los filtros, los límites de filas o las páginas bloqueadas pueden causar exactamente el mismo resultado. Debe probar cada causa con evidencia clara antes de cambiar los ajustes.

```text
+-----------------------------------------------------------------------+
|                       Check Output Summary                            |
+-----------------------------------------------------------------------+
                                   |
         +-------------------------+-------------------------+
         |                                                   |
         v                                                   v
[stopReason matches reported cap]                   [failedRequests > 0]
         |                                                   |
         v                                                   v
Row cap or page limit hit based                      Request failures recorded;
on actual stored stop evidence.                      cause remains unresolved.
```

Por qué un extractor de empleos devuelve menos resultados de los esperados

El [LinkedIn Jobs Scraper](https://apify.com/chronometrica/linkedin-jobs-scraper) público y su [ejemplo de Task predefinida](https://apify.com/chronometrica/linkedin-jobs-scraper/examples/linkedin-jobs-scraper) definen las reglas de recolección. La entrada guardada actual tiene `searchTerm` en software engineer, `maxItems` en 100, `maxPagesPerSearch` en 2, `postedWithin` en 7d, `saveOnlyUniqueItems` en true y `fetchJobDetails` en true. Su prueba piloto reemplaza la consulta, establece `maxItems` en 3 y establece `maxPagesPerSearch` en 1. Los distintos modos de entrada comparten un solo tope de filas. Conserve estos campos de salida exactos: `jobId`, `jobUrl`, `title`, `companyName`, `locationRaw`, `descriptionStatus` y `scrapedAt`. Inspeccione estas claves exactas disponibles del resumen de salida: `candidateItemsSeen`, `jobsSaved`, `duplicatesSkipped`, `stopReason`, `pagesParsed`, `pageLimitSearches`, `blockedRequests`, `failedRequests`, `detailRequests`, `detailPagesParsed`, `detailFailures`, más los contadores de filtro separados `rowsExcludedByCompany`, `rowsExcludedByDate`, `rowsExcludedByJobType`, `rowsExcludedByWorkplace`, `rowsExcludedByExperience` y `rowsExcludedByTitle`. Use los contadores de exclusión almacenados exactos y separados; cada uno describe su propia categoría. Una ejecución de control correcta de tres filas prueba solo que una entrada positiva funciona; no prueba la causa de una consulta objetivo vacía.

## Cómo diagnosticar un recuento de resultados reducido

Siga estos pasos para averiguar por qué su recuento de empleos es más bajo de lo esperado.

1. Guarde los ajustes de entrada exactos, la hora de ejecución, la salida del resumen y una muestra pequeña de filas antes de cambiar nada. Confirme si su recuento esperado proviene del mismo título de empleo, país, intervalo de fechas, orden de clasificación y cuenta de usuario.
2. Valide su modo de entrada. Las búsquedas por palabra clave, los enlaces web de búsqueda directa y los números de identificación de empleos específicos funcionan de manera distinta. Si mezcla estos modos, igual comparten un tope total de filas. Una palabra de búsqueda que quedó puede ampliar o cambiar su búsqueda sin que usted lo sepa.
3. Revise los filtros restrictivos y las unidades. Un radio de distancia necesita una ubicación. Un filtro del último día puede reducir el alcance de candidatos en comparación con la última semana; no garantiza menos filas guardadas, sobre todo con topes. Compare el mismo alcance de entrada y de fuente e inspeccione la evidencia real. Las exclusiones de título y de empresa pueden quitar candidatos. Cambie una entrada justificada por vez y guarde la evidencia anterior.
4. Revise `jobsSaved`, el tope compartido `maxItems`, `maxPagesPerSearch` y `stopReason`. Que las filas guardadas sean iguales a su tope activo no prueba automáticamente que un tope de filas causó la detención, salvo que la evidencia de detención almacenada real lo indique. Un límite de páginas puede detener el descubrimiento antes de todas las páginas visibles. No afirme que alguno de los dos causó el faltante salvo que el motivo de detención real del resumen lo respalde.
5. Inspeccione los recuentos de candidatos, los duplicados omitidos y los recuentos de filtros. La clave del total de elementos encontrados es `candidateItemsSeen`. La clave de duplicados omitidos es `duplicatesSkipped`. Puede ver 20 listados candidatos y guardar solo 5 filas únicas porque se ignoran los listados repetidos o filtrados. Asegúrese de que los números del resumen sumen según la definición exacta de cada campo.
6. Inspeccione por separado los errores de acceso a la fuente y los resultados de las páginas de detalle. Una búsqueda puede encontrar títulos de empleo incluso cuando [las descripciones de texto completo](/es/articles/comprobar-descripciones-completas-en-exportacion-de-empleos/) no se cargan. La clave del estado del texto completo es `descriptionStatus`. Las descripciones de texto faltantes no significan que el recuento de listados de empleo fuera cero. Una solicitud web fallida es un error, no una búsqueda correcta con cero empleos.
7. Ejecute un control pequeño conocido positivo con la misma compilación para probar la recolección básica. Un control conocido positivo correcto respalda solo que el control funcionó; la búsqueda objetivo sigue siendo incierta salvo que el alcance real y la evidencia de la fuente lo resuelvan. Si el control también falla, deje la recolección en espera porque siguen sin resolverse las cuestiones de la fuente y del tiempo de ejecución, y contacte a soporte con la entrada segura y la evidencia del resumen.
8. Ejecute solo una prueba dirigida según sus hallazgos. No aumente los límites de forma continua ni vuelva a ejecutar un extractor bloqueado. Su resultado final debe ser una tabla de diagnóstico que indique un próximo paso claro.

## Tabla de decisión para el diagnóstico

Use la evidencia almacenada real de detención y de páginas, junto con las descripciones para el lector, para diagnosticar su ejecución.

| Recuento guardado frente al tope | Evidencia del motivo de detención | Fallas de solicitud | Actividad de filtros | Diagnóstico |
| --- | --- | --- | --- | --- |
| `jobsSaved` coincide con el tope activo | El motivo de detención almacenado informa que se alcanzó el tope | 0 | 0 | La recolección se detuvo porque alcanzó el límite de filas, con respaldo de la evidencia de detención real. |
| `jobsSaved` está por debajo del tope activo | El motivo de detención almacenado informa que se alcanzó el límite de páginas | 0 | 0 | La recolección se detuvo porque alcanzó el límite de páginas, con respaldo de la evidencia de detención real. |
| `jobsSaved` está por debajo del tope activo | El motivo de detención almacenado informa un agotamiento normal | 0 | Hay contadores de filtro activos | Las reglas de filtro quitaron filas de candidatos coincidentes durante el agotamiento normal de la entrada. |
| 0 | El motivo de detención almacenado informa problemas de solicitud o de bloqueo | Mayor que 0 | 0 | Se registraron fallas de solicitud; la causa no está resuelta. |

## Ejemplos resueltos ficticios

Cuatro ejecuciones inventadas, cada una con su propia entrada y su resumen:

- A: `maxItems` 3, `jobsSaved` 3, con un motivo de detención por tope informado de forma explícita. Diagnóstico: se alcanzó el tope de guardado compartido según la evidencia de detención explícita; no hay inferencia sobre el total de empleos del mercado.
- B: `maxItems` 20, `maxPagesPerSearch` 1, `jobsSaved` 5, con un motivo de detención por página informado de forma explícita. Diagnóstico: el límite de páginas explica la detención de la recolección de esa ejecución según la evidencia de detención explícita; pruebe una página más si la fuente lo permite, no una paginación ilimitada.
- C: `candidateItemsSeen` 10, `duplicatesSkipped` 3, `rowsExcludedByTitle` 2, `jobsSaved` 5, con agotamiento normal de la entrada informado en las descripciones para el lector. Con estos significados ficticios de candidatos disjuntos, 10 menos 3 menos 2 es igual a 5. Diagnóstico: la política de elementos únicos y de filtros explica el recuento guardado. Tenga en cuenta que 3 de 5 empleos guardados tienen el texto completo listo y a 2 les falta; este estado de detalle no cambia el recuento de 5 listados.
- D: `jobsSaved` 0, 1 solicitud fallida, 1 solicitud bloqueada. Diagnóstico: las fallas de solicitud están establecidas, pero la causa entre problemas de red y bloqueo de acceso no está resuelta. No hay un cero de mercado demostrado.

## Libro de diagnóstico

Registre las métricas de su ejecución en un libro como este para comparar ajustes y elegir su próxima comprobación.

| Ejecución | Alcance activo | Tope activo | Estado de páginas | Evidencia de candidatos y filtros | Estado de la fuente | Diagnóstico y próxima comprobación |
| --- | --- | --- | --- | --- | --- | --- |
| A | Software Engineer, US | 3 | Página 1 de 2 | 3 vistos / 0 filtrados | En buen estado | Detención explícita por tope. Aumente `maxItems` si está justificado. |
| B | Software Engineer, US | 20 | Página 1 de 1 | 5 vistos / 0 filtrados | En buen estado | Detención explícita por página. Aumente `maxPagesPerSearch` a 2 si está permitido. |
| C | Software Engineer, US | 100 | Página 2 de 2 | 10 vistos / 3 duplicados, 2 exclusiones de título | En buen estado | Agotamiento normal de la entrada. Revise los ajustes de exclusión por título. |
| D | Software Engineer, US | 100 | Página 0 de 2 | 0 vistos / 0 filtrados | 1 fallida, 1 bloqueada | La fuente es incierta más allá de las fallas informadas. Retenga la ejecución e informe la evidencia del registro. |

## Próxima acción

Abra el [LinkedIn Jobs Scraper](https://apify.com/chronometrica/linkedin-jobs-scraper) o su [ejemplo de Task predefinida](https://apify.com/chronometrica/linkedin-jobs-scraper/examples/linkedin-jobs-scraper) con un término de búsqueda objetivo, establezca maxItems en 3, ejecute el Actor, guarde las claves del resumen de salida y use la tabla de decisión de arriba para elegir su única prueba siguiente.

## Fuentes y lecturas adicionales

- [LinkedIn Jobs Scraper](https://apify.com/chronometrica/linkedin-jobs-scraper)
- [Ayuda en Reddit sobre el flujo de n8n LinkedIn Job Scraper](https://www.reddit.com/r/n8n/comments/1t9trjv/n8n_linkedin_job_scraper_workflow_help/)