Semana 06: Desenvolvimento Ágil de Soluções RPA para os Desafios de Coleta e Monitoramento de Preços

Na sexta semana do nosso curso de Metodologias Ágeis, enfrentamos desafios de RPA, trazidos por um profissional da LG, que atua no campo de automação de processos robóticos. O professor Amadeu organizou um sorteio que determinou os desafios que cada equipe deveria resolver. Nossa equipe foi incumbida de solucionar os desafios 1 e 10, ambos exigindo a criação de scripts em Python para automação de tarefas repetitivas.

Desafio 1: Coleta de Dados de Preços Médios Mensais no Site LME

Objetivo: Desenvolver um script que acessa o site da London Metal Exchange (LME), navega até a seção de "monthly average" e compila os dados dos últimos três meses em um arquivo Excel.

Solução: Utilizamos BotCity para automatizar a navegação no site e coleta dos dados. Os dados extraídos foram organizados em um DataFrame usando pandas e salvos em um arquivo Excel. O processo foi facilitado pela criação de um ambiente virtual em Python, com as bibliotecas necessárias para automação e manipulação de dados, garantindo um isolamento eficiente do projeto.

Durante o desenvolvimento, foi necessário realizar uma pesquisa em um artigo para encontrar uma solução que permitisse burlar o captcha do CloudFlare. Utilizando o SeleniumBase, uma ferramenta de web scraping e crawling em Python que executa o Selenium em modo stealth usando o Undetected ChromeDriver, conseguimos realizar o login utilizando uma conta cadastrada no site da LME, o que permitiu o acesso às planilhas necessárias para a extração de dados. O SeleniumBase se mostrou mais eficiente que o Undetected ChromeDriver por utilizar patches avançados de navegador para ignorar verificações anti-bot. Essa solução foi crucial para garantir a automação completa do processo, permitindo a coleta precisa dos dados necessários.

Desafio 10: Automação de Monitoramento de Preços em um Site de E-commerce

Objetivo: Criar um script que monitora os preços de produtos em um site de e-commerce, registra os preços em uma planilha Excel junto com a data da coleta e gera um gráfico para visualizar a variação dos preços ao longo do tempo.

Solução: Iniciamos com a função fetch_iframe_content, que envia uma requisição GET para a página do produto, usando a URL fornecida. O conteúdo HTML da página é então processado usando BeautifulSoup para facilitar a extração dos elementos necessários, como o nome do produto e o preço atual. Em seguida, a função convert_to_numeric converte o preço de uma string para um número decimal, removendo caracteres desnecessários e garantindo que os dados estejam prontos para a manipulação.

Com os dados extraídos e formatados, a função update_excel é acionada para atualizar o arquivo Excel. Se o arquivo já existir, ele é carregado; caso contrário, um novo DataFrame é criado. O preço do produto, juntamente com a data da coleta, é então registrado em uma nova linha do arquivo Excel. Por fim, a função gera um gráfico usando matplotlib para visualizar a variação dos preços ao longo do tempo.

Práticas Ágeis Aplicadas



Adotamos as metodologias ágeis para organizar e conduzir o desenvolvimento das soluções. As práticas de Sprint Planning nos ajudaram a planejar as tarefas, enquanto o Sprint Backlog nos manteve organizados. Realizamos reuniões diárias (Daily) para acompanhar o progresso, e ao final de cada sprint, conduzimos uma Sprint Review para revisar o trabalho concluído e uma Sprint Retrospective para identificar melhorias para os próximos ciclos.

O papel de Scrum Master foi essencial para facilitar o trabalho da equipe e garantir que as práticas ágeis fossem seguidas, enquanto a Equipe de Desenvolvimento esteve focada em entregar as soluções propostas com qualidade e no prazo estipulado.

Essa abordagem ágil não apenas permitiu uma execução eficiente dos desafios, mas também promoveu um ambiente de trabalho colaborativo e dinâmico, onde todos puderam contribuir para o sucesso das entregas.