Este repositório contém minha solução para o desafio proposto pela beAnalytic para a posição de Engenheiro de Dados Jr.
O desafio consistiu em:
- Extrair informações da base de dados listada no website SteamDB
- Armazenar estes dados no Google BigQuery
- Exportar ou conectar esses dados em um Google Sheets
Dado que a página do SteamDB não permite a extração de dados via webscraping, optei por realizar o download manual do HTML da página, coloquei no arquivo request.txt
. Após isso, tratei o HTML para gerar as informações necessárias.
Com os dados devidamente tratados e estruturados, desenvolvi um código que transfere o resultado desse processamento (um dicionário Python) para uma tabela no Google BigQuery. Em seguida, fiz a integração dessa tabela com o Google Sheets.
Aqui está o link para o Google Sheets com os dados tratados e estruturados.
A arquitetura do projeto é a seguinte:
Uma possível melhoria para este projeto seria a automação do processo de transferência dos dados do arquivo TXT para o Google BigQuery. Isso poderia ser realizado configurando uma Cloud Function para acionar sempre que houvesse uma alteração no arquivo TXT.
Dessa forma, sempre que novos dados fossem adicionados ao arquivo TXT, eles seriam automaticamente carregados no Google BigQuery, e a tabela do Google Sheets seria atualizada em tempo real.
O steamdb é muito reservado quanto crawlers, mas é possível obter o resultado usando o próprio site da steam.