Protecció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
Los proveedores que se presentan a concursos usan este parser para ver los anuncios abiertos en una tabla: número de expediente, objeto, organismo contratante, región, tipo de procedimiento, importe de licitación y moneda, fecha de publicación, plazo, estado y enlace. Haga una búsqueda en el portal de contratación con sus palabras clave o códigos, y envíenos ese enlace, una página de anuncio 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 cada mañana o cuando lo necesite. Las personas de contacto se omiten: ni nombres, ni correos, ni teléfonos. No inicia sesión, no descarga pliegos tras una cuenta, no se salta captchas ni protecciones ni presenta ofertas, y mantiene un ritmo prudente. Usted decide si las condiciones del portal 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.
- Plazos que puede ordenarFechas en un formato, listas para ordenar por plazo
- Importe de licitación como númeroCon la moneda en su propia columna
- Sus palabras claveParte de la búsqueda que usted configura en el portal
- Sin personas de contactoSolo el organismo contratante, sin nombres ni teléfonos
- Ritmo prudenteUna pausa entre páginas, fijada en la configuración
Cómo funciona
- 1BúsquedaUsted configura la búsqueda y envía su enlace y un anuncio guardado
- 2ParserEscribimos el código y la guía para ejecutarlo
- 3EjecuciónLo ejecuta y compara los anuncios de hoy con el portal
- 4CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error
Qué necesitamos de usted
El portal de contratación y un enlace a una búsqueda con sus palabras clave, códigos o regiones, una página de anuncio y cuántos anuncios muestra la búsqueda aproximadamente. Los campos en el orden de su tabla, p. ej., número, objeto, organismo, región, importe de licitación, moneda, publicación, plazo, 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é portal y qué búsqueda?
- Palabras clave, códigos o regiones
- Los campos que necesita
- ¿Con qué frecuencia lo ejecutará?
Comparar paquetes
| Paquetes | BásicoAnuncios desde sus enlaces21 US$ | EstándarSu búsqueda, todos los anuncios42 US$ | PremiumHasta 3 portales75 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 anuncio) | 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 presentar ofertas o descargar los pliegos?
No. Solo lee páginas abiertas y guarda el enlace a cada anuncio. Los pliegos tras una cuenta, la firma y las ofertas son cosa suya.
¿Tiene el portal una exportación oficial?
Muchos portales de contratación pública publican datos abiertos o exportaciones. Si el suyo lo hace, puede que le sirva mejor, y se lo diremos cuando veamos sus páginas.
¿Encontrará todas las licitaciones por mí?
Recoge lo que muestra su búsqueda en el portal. Con mejores palabras clave, la lista es más completa; no prometemos una lista completa ni ninguna adjudicación.
¿Puede leer portales tras un inicio de sesión o un captcha?
No. Nunca inicia sesión ni se salta captchas o protecciones. Tampoco lee Google, Amazon, LinkedIn ni redes sociales. Para otros portales, usted decide si sus condiciones lo permiten.
¿No encontró su respuesta?