Yandex.Eda, Delivery Club, SberMarket e dezenas de agregadores regionais de entrega - são verdadeiros tesouros de dados para profissionais de marketing, analistas e proprietários de negócios de restaurantes. Mas assim que você começa a coletar sistematicamente preços e itens do menu, os serviços começam a bloquear as solicitações. Neste artigo, vamos discutir como organizar corretamente a análise de menus e preços de entrega, quais ferramentas usar e como os proxies ajudam a evitar bloqueios.
Por que analisar menus de restaurantes e preços de entrega
O mercado de entrega de alimentos na Rússia é um dos segmentos mais dinâmicos do e-commerce. Os preços dos pratos, composições dos menus e condições de entrega mudam literalmente todos os dias. Monitorar essas mudanças manualmente é impossível, se estamos falando de dezenas de concorrentes ou centenas de itens. É aqui que a coleta automática de dados se torna necessária.
Aqui estão alguns que utilizam a análise de menus e preços na prática:
- Proprietários de restaurantes e cafés - monitoram os preços dos concorrentes em sua área para ajustar rapidamente sua própria formação de preços.
- Profissionais de marketing de redes de restaurantes - analisam quais itens do menu os concorrentes estão promovendo por meio de promoções e ofertas especiais.
- Analistas do mercado HoReCa - elaboram relatórios sobre os preços médios de categorias de pratos em diferentes cidades e regiões.
- Startups de agregadores - coletam uma base de restaurantes com menus e preços para seu próprio catálogo.
- Investidores e consultores - avaliam o ambiente competitivo antes de abrir um novo estabelecimento ou franquia.
- Desenvolvedores de aplicativos - formam bancos de dados de pratos para aplicativos de contagem de calorias ou planejamento de refeições.
Se você trabalha no setor de restaurantes ou realiza sua análise, o monitoramento regular dos preços dos concorrentes não é um luxo, mas uma necessidade. A diferença de 30-50 rublos em um prato popular pode impactar diretamente a conversão em pedidos. E sem automação, você estará sempre um passo atrás de quem já configurou a coleta de dados.
Quais dados são coletados dos agregadores de entrega
Antes de configurar o analisador, é importante entender quais dados você realmente precisa. Os agregadores de entrega contêm várias camadas de informação, e cada uma delas é útil para diferentes tarefas.
| Tipo de dados | O que inclui | Para quem é útil |
|---|---|---|
| Menus e itens | Nomes dos pratos, descrições, composição, peso, Kcal | Desenvolvedores de aplicativos, nutricionistas |
| Preços dos pratos | Preço atual, preço com desconto, histórico de mudanças | Proprietários de restaurantes, profissionais de marketing |
| Condições de entrega | Custo de entrega, valor mínimo do pedido, tempo de entrega | Analistas, startups |
| Promoções e ofertas especiais | Descontos, combos, pratos promocionais, ofertas sazonais | Profissionais de marketing, inteligência competitiva |
| Avaliações e comentários | Avaliações dos estabelecimentos, número de comentários, tags de qualidade | Investidores, consultores |
| Geodados | Endereços, áreas de entrega, regiões de presença | Analistas de mercado, franquias |
O monitoramento de preços ao longo do tempo é especialmente valioso: se você coletar dados uma vez por dia durante vários meses, poderá ver padrões de formação de preços dos concorrentes - quando eles aumentam os preços, quando lançam promoções e como reagem a eventos externos (férias, eventos esportivos, mau tempo).
Características de proteção do Yandex.Eda, Delivery Club e outros agregadores
Grandes agregadores de entrega protegem ativamente seus dados contra coleta automática. E isso é compreensível: sua base de restaurantes e preços atuais é sua vantagem competitiva. Antes de configurar o analisador, é necessário entender quais proteções você encontrará.
Yandex.Eda
Utiliza vários níveis de proteção ao mesmo tempo. Primeiro, a geolocalização é aplicada ativamente: o conteúdo do menu e os preços são exibidos com base no seu endereço IP - se o IP for de Moscovo, você verá restaurantes de Moscovo. Em segundo lugar, o site funciona como um SPA (Single Page Application) em React, ou seja, os dados são carregados por meio de solicitações de API, e não estão embutidos no HTML. Em terceiro lugar, em caso de atividade suspeita, o Yandex SmartCaptcha é ativado. Se houver muitas solicitações de um único IP, você simplesmente não poderá acessar o site.
Delivery Club (SberMarket)
Arquitetura semelhante: os dados são fornecidos por meio de uma API interna, e não por meio de HTML estático. O serviço analisa padrões de comportamento: se as solicitações estão sendo feitas muito rapidamente ou sem pausas - bloqueio. Também é utilizada a análise do User-Agent e dos cabeçalhos das solicitações. Cabeçalhos não padrão imediatamente levantam suspeitas.
Agregadores regionais
Serviços como Chibbis, Goloso, e agregadores locais em regiões geralmente têm proteção mais fraca. Parte deles utiliza páginas HTML simples, que podem ser analisadas com ferramentas padrão. No entanto, mesmo aqui, o bloqueio por IP em caso de solicitações frequentes é uma prática comum.
Principais mecanismos de bloqueio de analisadores em agregadores de entrega:
- Bloqueio de IP ao exceder o limite de solicitações (rate limiting)
- Geobloqueio - exibição de conteúdo diferente para diferentes IPs
- Análise do User-Agent e dos cabeçalhos HTTP
- Captcha em caso de atividade suspeita
- Renderização de dados em JavaScript (arquitetura SPA)
- Análise de comportamento: velocidade de cliques, rolagem, pausas
Ferramentas para análise sem código e com código
A boa notícia é que para analisar menus de restaurantes não é necessário saber programar. Existem soluções prontas sem código que lidam com a maioria das tarefas. Mas para trabalhar com sites SPA como o Yandex.Eda, serão necessárias ferramentas mais sérias.
Ferramentas sem código (sem programação)
Octoparse - um dos analisadores visuais mais populares. Permite clicar nos elementos da página e construir um roteiro de coleta de dados sem escrever código. Há um modo em nuvem com rotação de IP. Adequado para coletar menus de sites com estrutura simples.
ParseHub - ferramenta semelhante com interface visual. É capaz de trabalhar com páginas JavaScript, o que a torna aplicável para agregadores modernos. Suporta proxies.
Apify - plataforma com "atores" prontos (analisadores prontos para sites populares). Para alguns agregadores de entrega, já existem soluções prontas em seu marketplace. Pode ser executado através da interface web sem código.
Ferramentas com código (para desenvolvedores)
Python + Requests + BeautifulSoup - combinação clássica para análise de páginas estáticas. Rápido, fácil, mas não lida com renderização em JavaScript.
Python + Selenium ou Playwright - controla um navegador real (Chrome/Firefox), portanto lida com sites SPA, JavaScript e até alguns captchas. O Playwright é considerado uma solução mais moderna e rápida. É esta combinação que funciona com Yandex.Eda e Delivery Club.
Scrapy - framework profissional para análise em larga escala em Python. Suporta filas de solicitações, middleware para proxies, exportação para diferentes formatos. Para grandes projetos de coleta de dados sobre restaurantes - a escolha ideal.
| Ferramenta | Precisa de código? | Renderização JS | Proxy | Adequado para |
|---|---|---|---|---|
| Octoparse | Não | Parcialmente | Rotação embutida | Agregadores regionais |
| ParseHub | Não | Sim | Proxies externos | A maioria dos agregadores |
| Apify | Não | Sim | Rotação embutida + externa | Yandex.Eda, Delivery Club |
| Selenium/Playwright | Sim (Python) | Sim | Proxies externos | Qualquer site |
| Scrapy | Sim (Python) | Através de plugins | Proxies externos | Coleta de dados em larga escala |
Por que a análise sem proxies não funciona
Esta é a questão chave. Muitos analistas iniciantes tentam executar o analisador diretamente de seu IP e imediatamente enfrentam bloqueios. A razão é simples: os agregadores de entrega veem centenas de solicitações de um único endereço em um curto espaço de tempo e automaticamente o bloqueiam. A recuperação de acesso pode levar de algumas horas a vários dias.
Proxies resolvem esse problema, distribuindo solicitações entre muitos endereços IP diferentes. Do ponto de vista do servidor, as solicitações parecem tráfego normal de diferentes usuários de diferentes locais. Mas nem todos os proxies são igualmente eficazes para essa tarefa.
Proxies residenciais
Proxies residenciais utilizam endereços IP de usuários reais em casa. Do ponto de vista do Yandex.Eda ou Delivery Club - é uma pessoa comum que entrou para ver o menu do restaurante. Esses proxies praticamente não são bloqueados quando usados corretamente. A escolha ideal para coletar dados de grandes agregadores com proteção séria.
Proxies móveis
Proxies móveis - endereços IP de operadoras móveis (MTS, Beeline, MegaFon, etc.). Sua característica é que um IP móvel pode ser usado por milhares de usuários reais ao mesmo tempo (através de NAT), portanto, os sites raramente bloqueiam endereços móveis. Isso os torna uma das opções mais confiáveis para análise com alta frequência de solicitações.
Proxies de data center
Proxies de data center são os mais rápidos e baratos, mas seus IPs são facilmente identificados como "não humanos". Para agregadores regionais com proteção simples, eles são adequados, mas Yandex.Eda e Delivery Club os bloqueiam rapidamente. No entanto, proxies de data center funcionam bem para a exploração inicial da estrutura do site e para testar o analisador antes do lançamento em produção.
Qual tipo de proxy escolher para analisar menus:
- Yandex.Eda, Delivery Club → proxies residenciais ou móveis
- Agregadores regionais (Chibbis, etc.) → proxies de data center ou residenciais
- Coleta de dados em toda a Rússia (diferentes cidades) → proxies residenciais com geotargeting por cidades
- Monitoramento de alta frequência (a cada hora) → proxies móveis com rotação
Configuração passo a passo do analisador com proxies
Vamos analisar um cenário prático: você deseja coletar diariamente os preços de pizza de 20 concorrentes em sua cidade a partir do Yandex.Eda. Aqui está como configurá-lo passo a passo.
Passo 1. Estude a estrutura da API do agregador
Abra o Yandex.Eda no navegador, pressione F12 (DevTools), vá para a aba Network e filtre as solicitações por XHR/Fetch. Encontre a página do restaurante e veja quais solicitações de API são enviadas ao carregar o menu. Normalmente, é algo como api/v1/menu?restaurantId=.... Anote os cabeçalhos dessas solicitações - eles serão necessários para simulação.
Passo 2. Escolha a ferramenta
Se você não escreve código - use Apify ou ParseHub. Se você programa em Python - Playwright será a escolha ideal para trabalhar com sites JavaScript. Instale a ferramenta necessária e verifique se ela suporta a conexão de proxies externos.
Passo 3. Obtenha proxies com geotargeting
Este é um ponto importante. O Yandex.Eda mostra diferentes restaurantes dependendo da cidade. Se você está analisando menus de restaurantes em Yekaterinburg - você precisa de proxies com IP de Yekaterinburg. Proxies residenciais com geotargeting por cidade permitem obter exatamente o conteúdo que um usuário local vê. Especifique a região necessária ao configurar os proxies.
Passo 4. Configure a rotação de proxies
Não use um único proxy para todas as solicitações. Configure a rotação: a cada 5-10 solicitações, mude o IP. No Apify, isso é feito através das configurações do pool de proxies. No Scrapy - através do middleware. No Playwright - passando um novo proxy a cada criação de contexto do navegador. Quanto mais frequentemente o IP muda, menor o risco de bloqueio.
Passo 5. Configure atrasos entre solicitações
Adicione pausas aleatórias entre as solicitações - de 2 a 8 segundos. Isso imita o comportamento de um usuário real. Nunca faça solicitações com intervalo inferior a 1 segundo - esse é um caminho certo para ser banido. No Scrapy, use o parâmetro DOWNLOAD_DELAY e ative AUTOTHROTTLE_ENABLED.
Passo 6. Configure os cabeçalhos corretos das solicitações
Sempre passe um User-Agent realista (string do navegador), o cabeçalho Accept-Language (por exemplo, pt-BR,pt;q=0.9) e Referer. Solicitações sem esses cabeçalhos parecem ser de um bot e são bloqueadas em primeiro lugar. Use strings de User-Agent atuais do Chrome ou Firefox.
Passo 7. Configure o agendamento e armazenamento de dados
Execute o analisador durante a noite (das 2:00 às 6:00) - a carga nos servidores dos agregadores é mínima e o tráfego suspeito é menos perceptível. Salve os dados em um banco de dados (PostgreSQL, MySQL) ou pelo menos em CSV com timestamps. Isso permitirá construir um histórico de mudanças de preços.
# Exemplo de configuração de proxies no 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"},
# ... mais 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()
# Atraso aleatório de 2-8 segundos
time.sleep(random.uniform(2, 8))
page.goto(url)
page.wait_for_selector('.menu-item') # espera o carregamento do menu
# Coleta de dados sobre os pratos
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
Erros comuns e como evitá-los
Mesmo com a configuração correta das ferramentas, muitos enfrentam problemas ao analisar dados sobre entrega de alimentos. Aqui estão os erros mais comuns e como solucioná-los.
Erro 1: Uso de um único proxy para todas as solicitações
Mesmo o melhor proxy residencial será bloqueado se centenas de solicitações forem feitas por ele em um único site. Sempre use um pool de pelo menos 10-20 proxies com rotação. Quanto mais restaurantes você analisar, mais proxies você precisará.
Erro 2: Ignorar geotargeting
Yandex.Eda e Delivery Club mostram conteúdo diferente dependendo da cidade do usuário. Se você deseja coletar dados sobre restaurantes em Novosibirsk, mas usa proxies de Moscovo - você receberá dados de Moscovo. Sempre verifique se o proxy corresponde à região necessária.
Erro 3: Análise de HTML em vez de API
Analisadores iniciantes tentam coletar dados do código HTML das páginas. Mas em sites SPA (e Yandex.Eda é um deles), os dados não estão embutidos no HTML - eles são carregados através da API. É muito mais eficiente encontrar o endpoint da API necessário através do DevTools e fazer solicitações diretamente a ele. Isso é mais rápido, estável e requer menos recursos.
Erro 4: Frequência de solicitações muito alta
O desejo de coletar dados rapidamente é compreensível, mas leva a um bloqueio instantâneo. Para monitoramento diário de preços em 50 restaurantes, é suficiente executar o analisador uma vez por dia com pausas de 3-5 segundos entre as solicitações. Não tente acelerar o processo diminuindo os atrasos.
Erro 5: Falta de monitoramento da funcionalidade dos proxies
Proxies podem "morrer" - eles são bloqueados, ou seu prazo de validade expira. Se o analisador continuar a trabalhar com um proxy bloqueado, você receberá dados vazios ou erros, sem perceber o problema. Configure a verificação da funcionalidade dos proxies antes de cada execução e a substituição automática de endereços não funcionais.
Erro 6: Ignorar mudanças na estrutura do site
Agregadores atualizam regularmente seus sites e APIs. Um analisador que funcionou há um mês pode parar de funcionar após uma atualização. Configure notificações de erro e verifique a funcionalidade do analisador pelo menos uma vez por semana. Mantenha a documentação sobre a estrutura dos dados que você coleta à mão.
Checklist antes de iniciar o analisador de menus de restaurantes:
- ✅ Pool de 10+ proxies com rotação configurada
- ✅ Proxies correspondem à cidade/região necessária
- ✅ Atrasos entre solicitações de 3-8 segundos (aleatórios)
- ✅ User-Agent realista configurado
- ✅ Cabeçalhos Accept-Language e Referer adicionados
- ✅ Armazenamento de dados com timestamps configurado
- ✅ Monitoramento de erros e notificações ativadas
- ✅ Lançamento agendado para a noite
Conclusão
A análise de menus de restaurantes e preços de entrega é uma ferramenta real de vantagem competitiva no setor de restaurantes e na análise do mercado HoReCa. Yandex.Eda, Delivery Club e outros agregadores protegem ativamente seus dados, mas com a abordagem correta - escolha adequada de ferramentas, configuração de atrasos e uso de proxies de qualidade - a coleta de dados funciona de forma estável e sem bloqueios.
Principais conclusões deste artigo: use ferramentas com suporte para renderização em JavaScript (Playwright, Apify), configure a rotação de proxies, não se esqueça do geotargeting e sempre adicione pausas aleatórias entre as solicitações. Esses são os três pilares de uma análise estável.
Se você planeja coletar dados regularmente do Yandex.Eda, Delivery Club ou agregadores regionais de entrega, recomendamos prestar atenção aos proxies residenciais - eles oferecem a máxima resistência a bloqueios e suportam geotargeting por cidades russas, o que é criticamente importante para a coleta correta de dados sobre preços em regiões específicas.
```