Conheça como a EEmovel utiliza inteligência artificial para acelerar seu processo de web scraping

Publicado: 29/11/2024

Por Gabriel Marchelli, arquiteto de soluções Startups na AWS; Bruno Vilardi Arquiteto de Soluções na e-Core e AWS Community Builder; Matheus Gonçalves, engenheiro de Dados e Ricardo Johnny, Arquiteto de Nuvem na EEmovel.

A EEmovel é uma startup de tecnologia fundada em 2014 em Cascavel – PR, ofertando para seus clientes soluções com o uso de dados do mercado imobiliário. Suas ferramentas visam apoiar a tomada de decisão de diferentes segmentos de negocio como imobiliárias, instituições financeiras, grandes varejistas, construtoras, incorporadoras e empresas do agronegócio.

A startup destaca-se no atendimento ao mercado imobiliário urbano em que oferece uma plataforma SaaS chamada EEmovel Brokers. Com uma interface leve e intuitiva, a plataforma permite que corretores e imobiliárias localizem imóveis para captação, realizem avaliações e gerenciem sua carteira de ativos. A startup utilizas grandes bases de dados, com mais de 30 milhões de imóveis ativos e atualizadas constantemente.

Outro foco de atuação é no Agronegócio com a EEmovel Agro, uma plataforma de Inteligência de Mercado com mais de 7,5 milhões de propriedades rurais mapeadas em todo o Brasil. A plataforma fornece informações detalhadas sobre culturas agrícolas, histórico de plantio, dados técnicos do solo, altitude, declividade, e muito mais. Alem disso, para os clientes do Agronegócio são disponibilizados dados sobre os proprietários e possíveis arrendatários das propriedades.

A empresa ainda oferece avalições de imóveis rurais e urbanos e ferramentas para determinar o posicionamento ideal para novos negócios, especialmente no ramo varejista.

Você pode consultar o blog da EEmovel nesse link.

Desafio

A EEmovel realiza um trabalho extenso de web scraping em uma grande variedade de sites de imobiliárias, com o objetivo de obter informações sempre atualizadas sobre imóveis (preço, área, localização e outras características relevantes). A empresa coleta dados de aproximadamente 11 mil sites de imobiliárias brasileiras, o que resulta em um volume de 20 milhões de anúncios por dia, abrangendo cerca de 16% do mercado imobiliário brasileiro.

Apesar do grande alcance e da relevância das informações coletadas, o processo atual enfrenta desafios significativos. A metodologia utilizada para o web scraping é predominantemente manual e requer uma manutenção contínua dos scripts considerando que alterações frequentes nos sites das imobiliárias exigem adaptações constantes. Isso torna o processo não apenas demorado, mas também caro e propenso a falhas.

Um dos maiores problemas enfrentados pela EEmovel é a alta taxa de falhas nos scripts. Em média, 100 scripts quebram por dia, um volume que supera a capacidade diária da equipe responsável por corrigir essas falhas. Esse cenário é ainda mais complexo quando se lida com os sites das maiores imobiliárias, que geralmente possuem designs personalizados e estruturas próprias, o que dificulta a automação e exige a criação de códigos específicos para cada um. Em média um colaborador leva em torno de 8h para corrigir um script quebrado, levando em consideração a identificação o erro, fazer a correção e validar o código.

Embora a empresa tenha tido sucesso na automação de processos para sites mais simples, os sites mais complexos continuam a demandar a participação de diversos colaboradores, aumentando consideravelmente os custos operacionais. A manutenção dessas automações personalizadas, em conjunto com a constante necessidade de adaptação, torna o processo de coleta de dados altamente desafiador e financeiramente oneroso.

Esse cenário ressalta a necessidade de melhorias significativas no processo de web scraping, seja por meio da criação de soluções mais robustas e automatizadas, ou pela adoção de novas tecnologias que possam reduzir a necessidade de intervenção humana, aumentando a eficiência e a escalabilidade da operação.

Solução

Para superar este obstáculo, a e-Core, uma consultoria especializada AWS, foi engajada ao lado da equipe AWS e do time da EEmovel para construir a solução. Foi desenvolvida uma arquitetura automatizada e inteligente baseada em tecnologias AWS e ferramentas especializadas de scraping, como o Playwright e o Scrapy. Essa solução tem como objetivo otimizar o processo de coleta de dados e reduzir a manutenção manual, utilizando uma combinação de serviços da AWS como o AWS Lambda (para a execução de funções), Amazon Bedrock (serviço de IA generativa totalmente gerenciado que oferece várias opções de modelos de base (FMs)), e serviços auxiliares como AWS Step Functions (serviço que fornece orquestração sem servidor para aplicações modernas). e o Amazon Simple Storage Service (Amazon S3) para o armazenamento de objetos.

Destaca-se na arquitetura a utilização do Amazon Bedrock (utilizando o modelo Claude 3.5 Sonnet da Anthropic) para acelerar o processo de criação e correção de códigos de Spider em Python. O Grandes Modelo de Linguagem (LLM) recebe um prompt formado em uma etapa anterior com alguns modelos de códigos já definidos. Após a criação ou correção do código pelo LLM, o código é enviado para a validação humana que executa as correções que julgar necessárias e atualiza o código em produção. Em resumo o Amazon Bedrock é capaz de adaptar-se às mudanças nos sites, aprendendo novos padrões e ajustando a lógica de scraping conforme necessário. Isso reduz o número de scripts quebrados e aumenta a eficiência geral do processo.

Além disso, o uso de funções Lambda para executar essas tarefas de forma serverless garante que o sistema possa escalar automaticamente para lidar com a quantidade massiva de dados, processando até 15 milhões de anúncios por dia, conforme necessário. As funções Lambda são orquestradas na arquitetura com a utilização do Step Functions.

A arquitetura apresentada no diagrama começa com a captura de requisições diretamente dos sites das imobiliárias, simulando a paginação com Playwright. Essa simulação é crucial, pois muitos sites modernos utilizam carregamento dinâmico de conteúdo, o que exige interação com JavaScript para obter as informações completas.

Após capturar os requests, a solução segue por dois caminhos principais, dependendo se o site é estático ou dinâmico:

Para os sites estáticos, é possível aprender a estrutura de paginação diretamente do código-fonte HTML. Uma vez identificado o padrão, é feita a coleta de informações diretamente, simplificando o processo de extração.

Quando o site não é estático, o sistema utiliza requisições capturadas para aprender a paginação. Em seguida, se o site retorna HTML, o código dessa página é interpretado para identificar as informações dos imóveis. Caso contrário, o retorno se dá via JSON, onde o sistema extrai os detalhes necessários.

Ao final, independentemente do caminho, o resultado é a geração automática de spiders (robôs de scraping) utilizando a ferramenta Scrapy em combinação com Python. Essa abordagem gera códigos personalizados para cada site, eliminando grande parte da necessidade de intervenção manual.

Com essa nova abordagem, a EEmovel conseguiu reduzir significativamente o esforço manual e o custo associado à manutenção de scripts. Além disso, o tempo de reação a mudanças nos sites das imobiliárias diminui, uma vez que a arquitetura automatizada consegue detectar e corrigir problemas de scraping com muito mais agilidade.

A capacidade de escalar o processo para lidar com a diversidade de sites, sem a necessidade de ajustar manualmente cada script, garante uma operação mais fluida e eficiente. Em última análise, isso permite que a EEmovel concentre seus esforços na análise dos dados coletados e no desenvolvimento de insights valiosos, em vez de gastar recursos em tarefas repetitivas de manutenção de scripts.

A transformação no processo de scraping da EEmovel, utilizando tecnologias de ponta como PlaywrightScrapyLambda e Amazon Bedrock, trouxe um novo nível de automação e eficiência à empresa. Com a capacidade de gerar spiders adaptáveis e aprender com as mudanças dos sites automaticamente, o time de desenvolvimento pode focar em atividades de maior valor, enquanto o sistema se ajusta em tempo real, garantindo a coleta de dados precisa e atualizada.

Resultado

Com a utilização da nova arquitetura construída e implementada com o apoio da e-Core e AWS, a EEmovel conseguiu atingir resultados surpreendentes.

A arquitetura possibilita a correção e a criação de múltiplos scripts em paralelo, agilizando a adaptação às mudanças nos sites. Anteriormente, para expandir para uma nova cidade com 200 sites de imobiliárias, uma equipe de 5 pessoas desenvolvendo 5 scripts por dia precisava de cerca de 40 dias para concluir os 200 scripts. Com a solução implementada, o mesmo time agora consegue desenvolver 80 scripts por dia, necessitando apenas de 2 dias e meio para concluir a mesma quantidade. Isso resultou em uma expansão muito mais rápida, mantendo a qualidade das entregas.

Em termos de custo operacional, uma expansão para uma cidade com 200 sites, que antes custava $3.600, agora, com a nova arquitetura implementada, pode ser realizada por apenas $800.

Essa solução também reduziu drasticamente o tempo de correção de scripts, que passou de 8 horas para apenas 30 minutos com o uso do Amazon Bedrock. O processo foi otimizado para gerar novos códigos em 10 minutos e realizar a validação humana em 20 minutos, permitindo que um profissional corrija até 16 scripts por dia. O custo por script caiu de $18 para $4 dólares, representando uma economia de 78%.

Combinamos experiência global com tecnologias emergentes para ajudar empresas como a sua a criar produtos digitais inovadores, modernizar plataformas de tecnologia e melhorar a eficiência nas operações digitais.

Pular para o conteúdo