DesarrolloProtección de pagoDetalles
- Los cambios dentro del paquete son gratuitos.
- Si no responde en los 3 días siguientes a la entrega, el trabajo se acepta automáticamente.
El dinero queda reservado al pagar y solo se libera cuando usted acepta el trabajo.

Ejemplo de resultado
Parser del catálogo de un proveedor de herramientas de jardín a Excel
Cómo queda el resultado
| Referencia | Nombre | Precio | Disponible | Peso | Foto |
|---|---|---|---|---|---|
| GT-1042 | Tijeras de podar, 20 mm | 18,90 | Sí | 0,24 kg | …/gt-1042.jpg |
| GT-1187 | Sierra plegable, 210 mm | 24,50 | Sí | 0,31 kg | …/gt-1187.jpg |
| GT-2210 | Tijeras para setos, hoja ondulada | 39,00 | No | 1,10 kg | …/gt-2210.jpg |
| GT-3305 | Pala de mano, acero inoxidable | 9,80 | Sí | 0,18 kg | …/gt-3305.jpg |
| GT-4120 | Manguera de jardín 25 m, 1/2" | 42,00 | Sí | 2,90 kg | …/gt-4120.jpg |
El archivo del ejemplo tiene 1.236 productos de 52 páginas de lista.
Una parte del código
def product_links(list_url: str) -> Iterator[str]:
"""Enlaces a las páginas de producto de todas las páginas de la lista, siguiendo 'Siguiente'."""
url: str | None = list_url
while url:
page = fetch(url)
for card in page.select("div.product-card a.title"):
yield urljoin(url, card["href"])
next_link = page.select_one("a.pagination-next")
url = urljoin(url, next_link["href"]) if next_link else None
def fetch(url: str) -> BeautifulSoup:
"""Una página abierta, a un ritmo prudente: una pausa entre peticiones y algunos reintentos si hay errores."""
for attempt in range(3):
time.sleep(settings.delay_seconds)
response = session.get(url, timeout=30)
if response.status_code == 200:
return BeautifulSoup(response.text, "html.parser")
log.warning("%s respondió %s, intento %d de 3", url, response.status_code, attempt + 1)
raise ScraperError(f"{url} no se abrió tras 3 intentos")
Archivos: un archivo ZIP con scraper.py, settings.ini (la página inicial, la pausa entre peticiones, el nombre del archivo), requirements.txt y un README sobre cómo instalarlo y ejecutarlo. Solo lee páginas abiertas, una cada 2 segundos, y antes consulta el robots.txt de la web. El cliente lo ejecuta en su propio ordenador.
Cliente: una tienda de jardinería en línea que revende las herramientas de un proveedor; el proveedor tiene un catálogo abierto en su web, pero ningún archivo con la lista de precios. Tarea: recorrer las páginas de lista del catálogo, abrir cada página de producto y guardar en Excel la referencia, el nombre, el precio, la disponibilidad, el peso y el enlace de la foto principal, para comparar precios una vez por semana.
El cliente y todos los datos son ficticios.
Acerca de este servicio
Agencias de selección, webs de empleo y personas que buscan trabajo usan este parser para reunir ofertas de empleo abiertas en una tabla: puesto, empresa, ciudad, remoto o presencial, tipo de jornada, salario desde y hasta tal como lo indica la oferta, fecha de publicación, una breve descripción y el enlace. Haga una búsqueda en una web de empleo o abra la página de empleo de una empresa, y envíenos ese enlace, una oferta y una o dos páginas guardadas desde su navegador. Recibe código Python, un archivo de configuración y un README y lo ejecuta en su ordenador. Los datos de las personas quedan fuera: ni nombres, ni correos, ni teléfonos de seleccionadores o empleados. Lee páginas abiertas a un ritmo prudente, nunca inicia sesión ni se salta captchas o protecciones, y no lee LinkedIn. Usted decide si las condiciones de la web lo permiten; un cambio posterior de su estructura requiere una actualización.
Qué incluye
- Qué recibeUn archivo ZIP con el código Python, un archivo de configuración y un README con instrucciones paso a paso; el código también se muestra en la página del pedido.
- Salario en columnasDesde y hasta como números cuando la oferta los da
- Su búsquedaParte de un enlace de búsqueda con sus filtros
- Sin contactosSin nombres, correos ni teléfonos de seleccionadores
- Ritmo prudenteUna pausa entre páginas, fijada en la configuración
- Una guía sencillaQué instalar y cómo ejecutarlo, paso a paso
Cómo funciona
- 1BúsquedaUsted envía una búsqueda o una página de empleo y una oferta guardada
- 2ParserEscribimos el código y la guía para ejecutarlo
- 3EjecuciónLo ejecuta y compara las primeras ofertas con la web
- 4CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error
Qué necesitamos de usted
La web de empleo o la página de empleo y un enlace a una búsqueda con sus filtros (puesto, ciudad, remoto), una oferta y cuántas ofertas hay aproximadamente. Los campos que necesita en el orden de su tabla, p. ej., puesto, empresa, ciudad, salario desde, salario hasta, tipo de jornada, fecha, enlace. Una o dos de esas páginas guardadas desde su navegador (Archivo > Guardar página como) o capturas. CSV o Excel.
Le preguntaremos:
- ¿Qué web y qué búsqueda?
- Los campos que necesita
- ¿Cuántas ofertas aproximadamente?
- Cualquier otra cosa que deba hacer
Comparar paquetes
| Paquetes | BásicoOfertas desde sus enlaces22 US$ | EstándarUna búsqueda, todas las ofertas42 US$ | PremiumHasta 3 webs de empleo76 US$ |
|---|---|---|---|
| Plazo | 1 día | 2 días | 3 días |
| Cambios | 1 | 2 | 3 |
| Webs | 1 | 1 | hasta 3 |
| Tipos de página | 1 | 2 (resultados de búsqueda y oferta) | hasta 3 |
| Campos | hasta 10 | hasta 25 | hasta 25 en cada una |
| Recorre las páginas de una lista | No | Sí | Sí |
| Archivo de resultados | CSV | Excel o CSV | Excel, CSV o JSON |
| Duplicados eliminados, reanuda donde se detuvo | No | No | Sí |
| Hacer pedido Básico | Hacer pedido Estándar | Hacer pedido Premium |
Protección de pago
Usted paga al hacer el pedido, pero el dinero solo se libera por un trabajo aceptado.
- Precio fijoEl precio del paquete no cambia después del pago.
- El dinero queda reservadoAl pagar, el importe solo queda reservado. Pasa a Dleex cuando usted acepta el trabajo.
- Revisado antes de la entregaCada resultado pasa un control de calidad antes de llegar a usted, y lo ve en la página del pedido antes de aceptarlo.
- Cambios gratuitosSolicite cambios dentro de su brief tantas veces como permita el paquete.
- Aceptación a los 3 díasSi en los 3 días siguientes a la entrega no acepta el trabajo ni solicita cambios, se acepta automáticamente. Si escribe en el chat del pedido después de la entrega, el pedido queda en espera; cuando le respondamos, podremos reiniciar el plazo de 3 días y se lo indicaremos en el chat.
- Rehacer el trabajo o reembolso totalSi el resultado no se ajusta a su brief y los cambios no lo resolvieron, o el trabajo tarda más del doble de su plazo, escriba en el chat del pedido: rehacemos el trabajo o le reembolsamos el pago íntegro.
Preguntas y respuestas
¿Puede recoger los contactos de los seleccionadores para enviarles ofertas?
No. El parser no recoge nombres, correos ni teléfonos de personas. Cada fila tiene el enlace a la oferta, donde puede responder como ofrezca la web.
¿Puede leer LinkedIn u ofertas en redes sociales?
No. LinkedIn, otras redes sociales, Google y Amazon quedan fuera: sus condiciones lo prohíben y sus páginas contienen datos de personas. Las webs de empleo abiertas y las páginas de empleo de empresas sirven si sus condiciones lo permiten, lo que decide usted.
¿Puede inscribirse en ofertas por mí?
No. Solo lee páginas abiertas; nunca rellena formularios, inicia sesión ni envía nada.
¿Y si la web de empleo cambia o limita las visitas?
El parser sigue las páginas tal como son ahora; tras un cambio de estructura necesita una actualización, que es un pedido nuevo. Si la web limita las visitas, el parser no se lo salta.
¿No encontró su respuesta?


