Fala galera do mundo dos dados! Quem nunca precisou extrair dados de uma API que atire a primeira pedra. Escrevi uma trilogia aqui no Dados ao Cubo, API com Python, o Céu é o Limite!, com a seguinte missão:
- Extrair dados de uma API;
- Realizar o processamento paralelo das extrações da API;
- Persistir os dados em um banco de dados PostgreSQL.
Então, como perfeito que o Python é, auxiliou em todas as etapas.
Ficou interessado na missão? Então, em comigo conferir os detalhes da cada uma dessas etapas, e ao final tenho certeza que não vai se arrepender.
Ingestão de Dados via API com Python

Primeiramente, alguns conceitos importantes. O que é uma API? Conhecer a biblioteca request, que será utilizada para se comunicar com a API. E uma fonte de dados para que possamos fazer essa tarefa né?
Nesta etapa, usaremos os dados legislativos abertos com informações da Câmara de Deputados. Temos várias coleções de dados disponíveis, com elas é possível consultar informações de deputados e partidos, verificar a atuação e os gastos do deputado, descobrir os eventos realizados pelas comissões, e muito mais!
Com tudo isso pronto! Partiu API ao Cubo! Faremos a extração dos dados e algumas análises, como os exemplos abaixo.
Quantidade de deputados por estados.

Quais os principais nomes e sobrenomes dos deputados.

Fantástico né? Mas a depender do volume de dados, fazer várias requisições para APIs pode ser bastante demorado. Então, vou te mostrar como fazer essas chamadas em paralelo.
Processamento Paralelo com Python

Aqui começaremos entendendo o que é processamento paralelo. Porque utilizar essa forma de processamento de dados. Além de qual biblioteca Python vai ajudar na missão.
Depois desses conceitos, é mão na massa. É um processamento paralelo ao cubo. Sendo assim, vamos chegar à seguinte conclusão.

Portanto, será que cerca de 66% de tempo a menos pode ajudar em alguma coisa? E como em!!! É uma forma bem interessante de fazer requisições em APIs. Mas e agora, os dados estão em tempo de execução, se precisar consultar amanhã? depois? no outro mês? Fazer tudo novamente? Precisamos gravar esses dados em algum lugar! Vamos persistir esses dados em um banco PostgreSQL também com Python.
Manipulando Dados em PostgreSQL com Python

E então chegou a hora de entrar no mundo dos bancos de dados relacionais, mais especificamente o PostgreSQL. Vou te apresentar a lib Psycopg2, que faz a comunicação do Python com o PostgreSQL. Aí o céu é o limite, com um pouco de criatividade vai longe.
Mas vou te mostrar em detalhes, como fazer uma conexão do Python com o PostgreSQL. Como dropar e criar tabelas, um mix de Python com SQL. Depois inserir e consultar dados no banco. E como resultado final, os dados de volta do PostgreSQL em um dataframe pandas.

Sucesso em? Em cada tópico você encontra o link para o conteúdo completo de cada etapa! Depois me conta o que achou da API com Python, o Céu é o Limite! O que faltou? O que não gostou? Um abraço e até a próxima.
Conteúdos ao Cubo
Se você curtiu o conteúdo, lá no Dados ao Cubo tem muito mais. Então, deixo algumas sugestões de conteúdos que você pode encontrar por lá, sempre falando sobre o mundo dos dados.
- Boas Práticas de Visualização de Dados Parte I
- Boas Práticas de Visualização de Dados Parte II
- Machine Learning com ML.Net no Jupyter Notebook
- Análise Exploratória com ML.Net e Jupyter Notebook no Ubuntu
- ML.Net – Modelos em Produção com WebApi e Docker
- AutoML (Automated Machine Learning) com ML.Net
- Classificação com scikit-learn
Finalizo com um convite para você ser Parceiro de Publicação Dados ao Cubo, escrever o próximo artigo e ter divulgação para toda a comunidade de dados no LinkedIn.

Baiano, apaixonado por dados e tecnologia, amante das inovações tecnológicas que facilitam a vida humana! Formado em Engenharia da Computação e com MBA em Gestão da Informação e Business Intelligence e especialização em Data Science. Atualmente atua como Data Tech Lead na Lopes, além de Professor na área de dados e nas horas vagas cria uns modelos de Machine Learning com Python e soluções diversas com dados!
1 Comment
20bet
29 de setembro de 2023Apoiar ferramentas de apostas e estar equipado com uma plataforma diversificada de transações financeiras, a 20Bet oferece suporte tangível aos jogadores. Este é um lugar onde eles podem apostar com dinheiro real, respaldados por concorrentes de diversas disciplinas esportivas. 20bet