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
Cada vez que lo ejecuta, este parser comprueba qué productos están disponibles en una web abierta, como la de su proveedor o una tienda cuyos artículos revende, y guarda una tabla: nombre, código, estado tal como lo escribe la página, cantidad restante cuando se muestra, plazo de entrega, precio, enlace, y la fecha y hora de la comprobación. Guarde el archivo de cada ejecución y verá qué ha vuelto y qué se ha agotado. Envíenos la web, enlaces a una categoría y a una página de producto, los estados que usa la web 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. Lee solo páginas abiertas a un ritmo prudente y nunca inicia sesión, ni se salta captchas o protecciones, ni recoge datos personales. 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.
- El estado como columnaLas palabras de la web, o sus propias etiquetas como sí / no / por encargo
- Cantidad cuando se muestraCuando la página indica cuántas quedan
- Filas con fechaFecha y hora de la comprobación en cada fila
- Ritmo prudenteUna pausa entre páginas, fijada en la configuración
- Se ejecuta en su ordenadorWindows, macOS o Linux, con Python
Cómo funciona
- 1PáginasUsted da la web, los productos y los estados que usa
- 2ParserEscribimos el código y la guía para ejecutarlo
- 3Primera comprobaciónLo ejecuta y compara algunos estados con la web
- 4CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error
Qué necesitamos de usted
La web y las páginas exactas: un enlace a una categoría y a una página de producto, o su lista de enlaces de productos, y cuántos productos hay aproximadamente. Los estados de stock que muestra la web, escritos tal como aparecen. Los campos que necesita además del estado, p. ej., código, precio, plazo de entrega. Una o dos páginas guardadas desde su navegador (Archivo > Guardar página como) o capturas, a ser posible una con stock y otra agotada. Con qué frecuencia piensa ejecutarlo.
Le preguntaremos:
- ¿Qué web y qué productos?
- Los estados de stock
- Otros campos
- ¿Con qué frecuencia lo comprobará?
Comparar paquetes
| Paquetes | BásicoStock de su lista de productos21 US$ | EstándarStock de una categoría completa41 US$ | PremiumVarias webs o secciones74 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 (categoría y producto) | 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í |
| Fecha y hora de la comprobación | Sí | Sí | 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
¿Me avisará cuando un producto vuelva a estar disponible?
No. Guarda una tabla con la fecha y hora de cada comprobación; usted la filtra o compara dos archivos en Excel. Los mensajes y avisos no forman parte de él.
¿Puede mostrar el stock de una tienda o almacén concretos?
Solo si una página abierta lo muestra sin iniciar sesión, por ejemplo una lista de tiendas en la página del producto. Una elección de tienda que requiera una cuenta queda fuera de su alcance.
¿Con qué frecuencia puedo ejecutarlo?
Tan a menudo como sea razonable para la web: con una pausa entre páginas, una categoría grande lleva su tiempo, así que unas pocas veces al día suele ser lo máximo. Premium añade una guía para ejecutarlo de forma programada.
¿Puede comprobar el stock en Amazon, Google Shopping o redes sociales?
No. Sus condiciones lo prohíben, al igual que las de LinkedIn y otras redes sociales. Para otras webs, usted decide si sus condiciones lo permiten.
¿Y si la web cambia sus páginas?
El parser sigue las páginas tal como son ahora. Un cambio posterior de estructura o de las palabras de estado requiere una actualización, que es un pedido nuevo.
¿No encontró su respuesta?


