Yandex.Eda, Delivery Club, SberMarket y decenas de agregadores regionales de entrega son un verdadero filón de datos para los mercadólogos, analistas y propietarios de negocios de restauración. Pero tan pronto como comienzas a recopilar sistemáticamente precios y posiciones de menús, los servicios comienzan a bloquear las solicitudes. En este artículo, analizaremos cómo organizar correctamente el análisis de menús y precios de entrega, qué herramientas utilizar y cómo los proxies ayudan a evitar bloqueos.
Por qué analizar menús de restaurantes y precios de entrega
El mercado de entrega de comida en Rusia es uno de los segmentos más dinámicos del comercio electrónico. Los precios de los platos, las composiciones de los menús y las condiciones de entrega cambian prácticamente cada día. Hacer un seguimiento manual de estos cambios es imposible si se trata de decenas de competidores o cientos de posiciones. Aquí es donde se necesita la recopilación automática de datos.
Aquí hay quienes utilizan el análisis de menús y precios en la práctica:
- Propietarios de restaurantes y cafeterías — monitorean los precios de los competidores en su área para ajustar rápidamente su propia política de precios.
- Mercadólogos de cadenas de restaurantes — analizan qué posiciones del menú los competidores promocionan a través de promociones y ofertas especiales.
- Analistas del mercado HoReCa — elaboran informes sobre los precios promedio de las categorías de platos en diferentes ciudades y regiones.
- Startups de agregadores — recopilan una base de restaurantes con menús y precios para su propio catálogo.
- Inversores y consultores — evalúan el entorno competitivo antes de abrir un nuevo establecimiento o franquicia.
- Desarrolladores de aplicaciones — crean bases de datos de platos para aplicaciones de conteo de calorías o planificación de comidas.
Si trabajas en el negocio de la restauración o te dedicas a su análisis, el monitoreo regular de los precios de los competidores no es un lujo, sino una necesidad. La diferencia de 30-50 rublos en un plato popular puede influir directamente en la conversión a pedidos. Y sin automatización, siempre estarás un paso detrás de aquellos que ya han configurado la recopilación de datos.
Qué datos se recopilan de los agregadores de entrega
Antes de configurar el analizador, es importante entender qué datos específicos necesitas. Los agregadores de entrega contienen varios niveles de información, y cada uno de ellos es útil para diferentes tareas.
| Tipo de datos | Qué incluye | Para quién es útil |
|---|---|---|
| Menú y posiciones | Nombres de platos, descripciones, composición, peso, Kcal | Desarrolladores de aplicaciones, dietistas |
| Precios de los platos | Precio actual, precio con descuento, historial de cambios | Propietarios de restaurantes, mercadólogos |
| Condiciones de entrega | Costo de entrega, monto mínimo del pedido, tiempo de entrega | Analistas, startups |
| Promociones y ofertas especiales | Descuentos, combos, platos promocionales, ofertas de temporada | Mercadólogos, inteligencia competitiva |
| Calificaciones y reseñas | Calificaciones de establecimientos, número de reseñas, etiquetas de calidad | Inversores, consultores |
| Geodatos | Direcciones, zonas de entrega, áreas de presencia | Analistas de mercado, franquicias |
Un monitoreo de precios en dinámica tiene un valor especial: si se recopilan datos una vez al día durante varios meses, se pueden ver patrones de formación de precios de los competidores: cuándo aumentan los precios, cuándo lanzan promociones y cómo reaccionan a eventos externos (fiestas, eventos deportivos, mal tiempo).
Características de la protección de Yandex.Eda, Delivery Club y otros agregadores
Los grandes agregadores de entrega protegen activamente sus datos de la recopilación automática. Y esto es comprensible: su base de restaurantes y precios actuales es su ventaja competitiva. Antes de configurar el analizador, es necesario entender con qué tipos de protecciones te enfrentarás.
Yandex.Eda
Utiliza varios niveles de protección al mismo tiempo. En primer lugar, se aplica la geolocalización de manera activa: el contenido del menú y los precios se muestran según tu dirección IP: si la IP es de Moscú, verás restaurantes de Moscú. En segundo lugar, el sitio funciona como una SPA (Single Page Application) en React, es decir, los datos se cargan a través de solicitudes API y no están incrustados en HTML. En tercer lugar, ante actividad sospechosa, se activa Yandex SmartCaptcha. Si hay solicitudes frecuentes desde una misma IP, simplemente te bloquean el acceso al sitio.
Delivery Club (SberMarket)
Arquitectura similar: los datos se entregan a través de una API interna y no a través de HTML estático. El servicio analiza patrones de comportamiento: si las solicitudes se realizan demasiado rápido o sin pausas, se produce un bloqueo. También se utiliza el análisis del User-Agent y los encabezados de las solicitudes. Los encabezados no estándar inmediatamente generan sospechas.
Agregadores regionales
Servicios como Chibbis, Goloso, y agregadores locales en las regiones, por lo general, tienen una protección más débil. Algunos de ellos utilizan páginas HTML simples que se pueden analizar con herramientas estándar. Sin embargo, aquí también el bloqueo por IP ante solicitudes frecuentes es una práctica estándar.
Principales mecanismos de bloqueo de analizadores en los agregadores de entrega:
- Bloqueo de IP al exceder el límite de solicitudes (rate limiting)
- Geobloqueo: mostrar contenido diferente para diferentes IP
- Análisis del User-Agent y encabezados HTTP
- Captcha ante actividad sospechosa
- Renderizado de datos en JavaScript (arquitectura SPA)
- Análisis del comportamiento: velocidad de clics, desplazamiento, pausas
Herramientas para análisis sin código y con código
La buena noticia es que no es necesario saber programar para analizar menús de restaurantes. Existen soluciones no-code listas que manejan la mayoría de las tareas. Pero para trabajar con sitios SPA como Yandex.Eda se necesitarán herramientas más serias.
Herramientas no-code (sin programación)
Octoparse — uno de los analizadores visuales más populares. Permite hacer clic en los elementos de la página y construir un guion de recopilación de datos sin escribir código. Tiene un modo en la nube con rotación de IP. Adecuado para recopilar menús de sitios con estructura simple.
ParseHub — herramienta similar con interfaz visual. Puede trabajar con páginas JavaScript, lo que la hace aplicable a los agregadores modernos. Tiene soporte para proxies.
Apify — plataforma con "actores" listos (analizadores listos para sitios populares). Para algunos agregadores de entrega ya hay soluciones listas en su mercado. Se puede ejecutar a través de la interfaz web sin código.
Herramientas con código (para desarrolladores)
Python + Requests + BeautifulSoup — conjunto clásico para analizar páginas estáticas. Rápido, fácil, pero no maneja el renderizado de JavaScript.
Python + Selenium o Playwright — controla un navegador real (Chrome/Firefox), por lo que maneja sitios SPA, JavaScript e incluso algunos captchas. Playwright se considera una solución más moderna y rápida. Este conjunto es el que funciona con Yandex.Eda y Delivery Club.
Scrapy — marco profesional para análisis a gran escala en Python. Soporta colas de solicitudes, middleware para proxies, exportación a diferentes formatos. Para grandes proyectos de recopilación de datos sobre restaurantes, es la opción óptima.
| Herramienta | ¿Se necesita código? | Renderizado JS | Proxies | Adecuado para |
|---|---|---|---|---|
| Octoparse | No | Parcialmente | Rotación integrada | Agregadores regionales |
| ParseHub | No | Sí | Proxies externos | La mayoría de los agregadores |
| Apify | No | Sí | Integrados + externos | Yandex.Eda, Delivery Club |
| Selenium/Playwright | Sí (Python) | Sí | Proxies externos | Cualquier sitio |
| Scrapy | Sí (Python) | A través de plugins | Proxies externos | Recopilación de datos a gran escala |
Por qué el análisis no funciona sin proxies
Esta es una pregunta clave. Muchos analistas principiantes intentan ejecutar el analizador directamente desde su IP y se enfrentan de inmediato a un bloqueo. La razón es simple: los agregadores de entrega ven cientos de solicitudes desde una misma dirección en poco tiempo y la bloquean automáticamente. La recuperación del acceso puede tardar desde varias horas hasta varios días.
Los proxies resuelven este problema distribuyendo las solicitudes entre múltiples direcciones IP diferentes. Desde el punto de vista del servidor, las solicitudes parecen tráfico normal de diferentes usuarios de diferentes lugares. Pero no todos los proxies son igualmente efectivos para esta tarea.
Proxies residenciales
Los proxies residenciales utilizan direcciones IP de usuarios domésticos reales. Desde la perspectiva de Yandex.Eda o Delivery Club, es una persona común que ha entrado a ver el menú de un restaurante. Estos proxies prácticamente no son bloqueados si se utilizan correctamente. Son la opción ideal para recopilar datos de grandes agregadores con protección seria.
Proxies móviles
Los proxies móviles son direcciones IP de operadores móviles (MTS, Beeline, MegaFon, etc.). Su característica es que una IP móvil puede ser utilizada por miles de usuarios reales al mismo tiempo (a través de NAT), por lo que los sitios rara vez bloquean direcciones móviles. Esto los convierte en una de las opciones más confiables para análisis con alta frecuencia de solicitudes.
Proxies de centros de datos
Los proxies de centros de datos son los más rápidos y baratos, pero sus IP son fácilmente identificadas como "no humanas". Para agregadores regionales con protección simple son adecuados, pero Yandex.Eda y Delivery Club los bloquean bastante rápido. Sin embargo, los proxies de centros de datos funcionan bien para el primer análisis de la estructura del sitio y para probar el analizador antes del lanzamiento en producción.
Qué tipo de proxy elegir para analizar menús:
- Yandex.Eda, Delivery Club → proxies residenciales o móviles
- Agregadores regionales (Chibbis, etc.) → proxies de centros de datos o residenciales
- Recopilación de datos en toda Rusia (diferentes ciudades) → proxies residenciales con geotargeting por ciudades
- Monitoreo de alta frecuencia (cada hora) → proxies móviles con rotación
Configuración paso a paso del analizador con proxies
Analicemos un escenario práctico: deseas recopilar diariamente precios de pizza de 20 competidores en tu ciudad desde Yandex.Eda. Aquí te mostramos cómo configurarlo paso a paso.
Paso 1. Estudia la estructura de la API del agregador
Abre Yandex.Eda en tu navegador, presiona F12 (DevTools), ve a la pestaña Network y filtra las solicitudes por XHR/Fetch. Encuentra la página del restaurante y observa qué solicitudes API se envían al cargar el menú. Normalmente es algo como api/v1/menu?restaurantId=.... Toma nota de los encabezados de estas solicitudes, los necesitarás para la simulación.
Paso 2. Elige la herramienta
Si no escribes código, utiliza Apify o ParseHub. Si escribes en Python, Playwright será la opción óptima para trabajar con sitios JavaScript. Instala la herramienta necesaria y asegúrate de que soporte la conexión de proxies externos.
Paso 3. Obtén proxies con geotargeting
Este es un punto importante. Yandex.Eda muestra diferentes restaurantes según la ciudad. Si estás analizando menús de restaurantes en Ekaterimburgo, necesitas proxies con IP de Ekaterimburgo. Los proxies residenciales con geotargeting por ciudad permiten obtener exactamente el contenido que ve un usuario local. Especifica la región necesaria al configurar los proxies.
Paso 4. Configura la rotación de proxies
No utilices un solo proxy para todas las solicitudes. Configura la rotación: cambia la IP cada 5-10 solicitudes. En Apify esto se hace a través de la configuración del pool de proxies. En Scrapy, a través de middleware. En Playwright, pasando un nuevo proxy al crear cada contexto del navegador. Cuanto más a menudo cambie la IP, menor será el riesgo de bloqueo.
Paso 5. Configura retrasos entre solicitudes
Añade pausas aleatorias entre solicitudes, de 2 a 8 segundos. Esto imita el comportamiento de un usuario real. Nunca hagas solicitudes con un intervalo de menos de 1 segundo, ya que esto es un camino seguro hacia el baneo. En Scrapy, utiliza el parámetro DOWNLOAD_DELAY y activa AUTOTHROTTLE_ENABLED.
Paso 6. Configura los encabezados correctos de las solicitudes
Siempre pasa un User-Agent realista (cadena del navegador), el encabezado Accept-Language (por ejemplo, es-ES,es;q=0.9) y Referer. Las solicitudes sin estos encabezados parecen bots y son bloqueadas en primer lugar. Utiliza cadenas de User-Agent actuales de Chrome o Firefox.
Paso 7. Configura el horario y almacenamiento de datos
Ejecuta el analizador durante la noche (de 2:00 a 6:00) — la carga en los servidores de los agregadores es mínima y el tráfico sospechoso es menos notable. Guarda los datos en una base de datos (PostgreSQL, MySQL) o al menos en CSV con marcas de tiempo. Esto permitirá construir un historial de cambios de precios.
# Ejemplo de configuración de proxies en Playwright (Python)
from playwright.sync_api import sync_playwright
import random
import time
proxies = [
{"server": "http://proxy1.example.com:8080", "username": "user", "password": "pass"},
{"server": "http://proxy2.example.com:8080", "username": "user", "password": "pass"},
# ... más proxies
]
def parse_restaurant_menu(url):
proxy = random.choice(proxies)
with sync_playwright() as p:
browser = p.chromium.launch()
context = browser.new_context(
proxy=proxy,
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
)
page = context.new_page()
# Pausa aleatoria de 2-8 segundos
time.sleep(random.uniform(2, 8))
page.goto(url)
page.wait_for_selector('.menu-item') # esperamos a que se cargue el menú
# Recopilación de datos sobre los platos
items = page.query_selector_all('.menu-item')
menu_data = []
for item in items:
name = item.query_selector('.item-name').inner_text()
price = item.query_selector('.item-price').inner_text()
menu_data.append({'name': name, 'price': price})
browser.close()
return menu_data
Errores típicos y cómo evitarlos
Incluso con la configuración correcta de las herramientas, muchos se enfrentan a problemas al analizar datos sobre entrega de comida. Aquí están los errores más comunes y cómo solucionarlos.
Error 1: Uso de un solo proxy para todas las solicitudes
Incluso el proxy residencial de mejor calidad será bloqueado si recibe cientos de solicitudes al día a un solo sitio. Siempre utiliza un pool de al menos 10-20 proxies con rotación. Cuantos más restaurantes analices, más proxies necesitarás.
Error 2: Ignorar el geotargeting
Yandex.Eda y Delivery Club muestran contenido diferente según la ciudad del usuario. Si deseas recopilar datos sobre restaurantes en Novosibirsk, pero utilizas proxies de Moscú, obtendrás datos de Moscú. Siempre verifica que el proxy corresponda a la región necesaria.
Error 3: Análisis de HTML en lugar de API
Los analistas principiantes intentan recopilar datos del código HTML de las páginas. Pero en los sitios SPA (y Yandex.Eda es uno de ellos), los datos no están incrustados en HTML, se cargan a través de API. Es mucho más eficiente encontrar el endpoint API necesario a través de DevTools y hacer solicitudes directamente a él. Esto es más rápido, más estable y requiere menos recursos.
Error 4: Frecuencia de solicitudes demasiado alta
El deseo de recopilar datos rápidamente es comprensible, pero conduce a un bloqueo instantáneo. Para el monitoreo diario de precios en 50 restaurantes, es suficiente ejecutar el analizador una vez al día con pausas de 3-5 segundos entre solicitudes. No intentes acelerar el proceso reduciendo las pausas.
Error 5: Falta de monitoreo de la funcionalidad de los proxies
Los proxies pueden "morir": son bloqueados, su tiempo de vida expira. Si el analizador sigue funcionando con un proxy bloqueado, obtendrás datos vacíos o errores sin notar el problema. Configura una verificación de la funcionalidad de los proxies antes de cada ejecución y un reemplazo automático de las direcciones no funcionales.
Error 6: Ignorar cambios en la estructura del sitio
Los agregadores actualizan regularmente sus sitios y API. Un analizador que funcionó hace un mes puede dejar de funcionar después de una actualización. Configura notificaciones de errores y verifica la funcionalidad del analizador al menos una vez a la semana. Ten a mano la documentación sobre la estructura de los datos que estás recopilando.
Lista de verificación antes de ejecutar el analizador de menús de restaurantes:
- ✅ Pool de 10+ proxies configurado con rotación
- ✅ Proxies que corresponden a la ciudad/región necesaria
- ✅ Pausas entre solicitudes de 3-8 segundos (aleatorias)
- ✅ User-Agent realista establecido
- ✅ Encabezados Accept-Language y Referer añadidos
- ✅ Almacenamiento de datos configurado con marcas de tiempo
- ✅ Monitoreo de errores y notificaciones activadas
- ✅ Ejecución programada para la noche
Conclusión
El análisis de menús de restaurantes y precios de entrega es una herramienta real de ventaja competitiva en el negocio de la restauración y el análisis del mercado HoReCa. Yandex.Eda, Delivery Club y otros agregadores protegen activamente sus datos, pero con el enfoque correcto —una elección adecuada de herramientas, configuración de pausas y uso de proxies de calidad— la recopilación de datos funciona de manera estable y sin bloqueos.
Conclusiones clave de este artículo: utiliza herramientas con soporte para renderizado de JavaScript (Playwright, Apify), configura la rotación de proxies, no olvides el geotargeting y siempre añade pausas aleatorias entre solicitudes. Estos son los tres pilares de un análisis estable.
Si planeas recopilar datos regularmente de Yandex.Eda, Delivery Club o agregadores regionales de entrega, te recomendamos prestar atención a proxies residenciales — proporcionan la máxima resistencia a bloqueos y soportan geotargeting por ciudades rusas, lo cual es crítico para la correcta recopilación de datos sobre precios en regiones específicas.
```