image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Sisnando Junior
Sisnando Junior11/02/2025 11:49
Compartilhe
Nexa - Análise Avançada de Imagens e Texto com IA na AWSRecomendados para vocêNexa - Análise Avançada de Imagens e Texto com IA na AWS

De onde vem e para onde vão os dados? Extraindo dados do mundo real!

  • #Python

Hoje em dia, é praticamente impossível não se deparar com uma chuva de informações nesse mundo tão tecnológico. Diversas fontes de dados estão por todo lado, seja nas redes sociais, sensores, transações financeiras, dispositivos IoT (Internet das Coisas), entre outros. Esses dados são coletados, processados e armazenados para serem utilizados em análises, tomadas de decisão e automação de processos. Mas, afinal, para onde vão esses dados? Eles são transformados em insights valiosos, alimentam sistemas de inteligência artificial, geram relatórios e até mesmo são compartilhados entre organizações para criar soluções inovadoras.

Podemos utilizar várias técnicas para extrair dados da internet ou mesmo de documentos em PDF ou Excel. Temos como exemplo, a linguagem de programação Python, ela é uma ferramenta poderosa e versátil para extrair dados da web. Neste artigo, vamos explorar como você pode usar Python para coletar informações de forma eficiente e construir seus próprios projetos de coleta de dados. Usaremos um exemplo prático, o projeto "Estádios de Futebol", para ilustrar cada etapa.

Como extrair dados com Python?

Para começar o processo de extração de dados, ou seja, coletar informações de diversas fontes, como bancos de dados, APIs, arquivos (CSV, Excel, JSON) ou até mesmo diretamente da web (web scraping). Python é uma das linguagens mais populares para essa tarefa, graças à sua simplicidade e à vasta gama de bibliotecas disponíveis, como Pandas, Requests, BeautifulSoup e Scrapy. Com essas ferramentas, é possível automatizar a coleta de dados, estruturá-los e prepará-los para análises posteriores. A extração eficiente de dados é fundamental para garantir que as informações utilizadas sejam confiáveis e relevantes, abrindo caminho para insights poderosos e decisões mais embasadas.

Projeto de Exemplo: Extraindo Dados de Estádios de Futebol da Wikipedia

Para demonstrar o processo de extração de dados com Python, utilizaremos um projeto prático: a coleta de dados sobre estádios de futebol diretamente da Wikipedia. Este projeto é uma excelente maneira de aprender e aplicar os conceitos que vamos discutir. Você pode encontrar o código completo no meu GitHub: https://github.com/nandodevs/football-azure-engineering/.

Por que Python para Extração de Dados?

Python oferece diversas bibliotecas que facilitam a extração e manipulação de dados, como:

*  Requests: Para fazer requisições HTTP e obter o conteúdo das páginas web.

*  Beautiful Soup: Para analisar e extrair informações de documentos HTML e XML.

*  Pandas: Para manipular e analisar os dados extraídos em formatos de tabela.

Passo a Passo: Extraindo Dados da Wikipedia com Python

1. Instalando as Bibliotecas Necessárias:

  Antes de começar, certifique-se de ter as bibliotecas instaladas. Use o pip para instalar:

pip install requests beautifulsoup4 pandas

2. Fazendo a Requisição HTTP:

  Primeiro, utilize a biblioteca `requests` para obter o conteúdo HTML da página da Wikipedia:

import requests

url = 'https://en.wikipedia.org/wiki/List_of_association_football_stadiums_by_capacity' 
response = requests.get(url)

if response.status_code == 200:
  html_content = response.text
else:
  print(f'Erro ao acessar a página: {response.status_code}')

   

3. Analisando o HTML com Beautiful Soup:

  Em seguida, use o Beautiful Soup para analisar o HTML e extrair os dados desejados:

from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')

   Encontre os elementos HTML que contêm os dados dos estádios

   Adapte o código abaixo com base na estrutura real da página

tabela_estadios = soup.find('table', {'class': 'wikitable'})

   Extraia os dados da tabela

dados_estadios = []
for linha in tabela_estadios.find_all('tr'):
  colunas = linha.find_all('td')
  if colunas:
    nome = colunas[0].text.strip()
    capacidade = colunas[1].text.strip()
    cidade = colunas[2].text.strip()
    dados_estadios.append([nome, capacidade, cidade])

   

4. Organizando os Dados com Pandas:

  Agora, utilize a biblioteca `pandas` para organizar os dados em um formato de tabela (DataFrame):

import pandas as pd

df = pd.DataFrame(dados_estadios, columns=['Nome', 'Capacidade', 'Cidade'])
print(df)

   

5. Salvando os Dados:

  Finalmente, salve os dados em um arquivo CSV para uso futuro:

df.to_csv('estadios_de_futebol.csv', index=False)

   

Fiz a extração dos dados e agora?

Embora a extração de dados seja uma etapa crucial, ela é apenas o ponto de partida de um pipeline de dados completo. Após coletar os dados, é necessário processá-los, armazená-los e transformá-los para que possam ser utilizados de forma eficiente. Em projetos mais complexos, a extração se integra a uma série de ferramentas e processos que garantem o fluxo contínuo e a qualidade dos dados. Algumas das etapas subsequentes incluem:

  • Armazenamento de Dados: Após a extração, os dados são armazenados em sistemas robustos, como o Azure Data Lake Gen2, que oferece escalabilidade e segurança para grandes volumes de informações.
  • Transformação de Dados: Ferramentas como o Databricks entram em cena para limpar, estruturar e transformar os dados, preparando-os para análise. Essa etapa é essencial para garantir a consistência e a confiabilidade das informações.
  • Visualização de Dados: Por fim, plataformas como TableauPower BI ou Looker Studio permitem criar dashboards e relatórios interativos, transformando dados brutos em insights visuais e acionáveis.

Essa integração entre extração, armazenamento, transformação e visualização forma um ciclo contínuo, onde os dados são constantemente aprimorados e utilizados para gerar valor. A escolha das ferramentas certas em cada etapa é fundamental para garantir a eficiência e a escalabilidade do pipeline de dados.

Para este projeto, foi utilizada a estrutura abaixo:

image

O que preciso saber saber para extrair dados?

Antes de começar a extrair dados, é importante entender alguns conceitos e ferramentas fundamentais para garantir que o processo seja eficiente e preciso. Aqui estão alguns pontos-chave:

1. Fontes de Dados: Identifique de onde os dados serão extraídos. Eles podem vir de bancos de dados, APIs, arquivos (CSV, Excel, JSON), páginas da web (web scraping) ou até mesmo de streams em tempo real.

2. Formato dos Dados: Entenda o formato em que os dados estão armazenados (estruturados, semiestruturados ou não estruturados) e como eles podem ser acessados. Isso influencia a escolha das ferramentas e técnicas de extração.

3. Ferramentas e Bibliotecas: Familiarize-se com as bibliotecas e frameworks mais utilizados para extração de dados em Python, como:

  - Pandas: Para leitura e manipulação de dados em formatos tabulares.

  - Requests: Para fazer requisições HTTP e acessar APIs.

  - BeautifulSoup e Scrapy: Para extrair dados de páginas da web (web scraping).

  - SQLAlchemy: Para interagir com bancos de dados relacionais.

4. Autenticação e Acesso: Muitas fontes de dados exigem autenticação, como chaves de API, tokens OAuth ou credenciais de banco de dados. Certifique-se de entender como acessar esses recursos de forma segura.

5. Limitações e Legalidade: Esteja ciente das limitações técnicas (como rate limits em APIs) e das questões legais relacionadas à extração de dados, especialmente ao fazer web scraping. Respeite os termos de uso e as políticas de privacidade.

6. Tratamento de Erros: A extração de dados nem sempre é um processo linear. Prepare-se para lidar com erros, como falhas de conexão, mudanças na estrutura dos dados ou indisponibilidade temporária das fontes.

7. Automatização: Em muitos casos, a extração de dados precisa ser feita de forma recorrente. Ferramentas como Airflow ou scripts agendados (cron jobs) podem ajudar a automatizar esse processo.

Dominar esses conceitos e ferramentas permitirá que você extraia dados de forma eficiente, preparando-os para as etapas subsequentes do pipeline de dados, como armazenamento, transformação e análise.

Conclusão

A extração de dados com Python é uma habilidade valiosa no mundo dos dados. Com as bibliotecas certas e um pouco de prática, você pode coletar informações de diversas fontes e construir seus próprios projetos de análise de dados.

Obrigado por ler até aqui! Espero que este guia tenha sido útil. Se tiver alguma dúvida, deixe um comentário abaixo.

Sucesso!

Compartilhe
Recomendados para você
Suzano - Python Developer
BairesDev - Machine Learning Practitioner
Santander - Cibersegurança #2
Comentários (2)
Sisnando Junior
Sisnando Junior - 11/02/2025 16:43

Muito obrigado pela pergunta! Bom para garantir a qualidade e confiabilidade das informações, deve-se seguir um processo de ETL ou ELT, dependendo do tipo de análise. Dentro o processo, precisamos realizar as etapas de:

  • Limpeza dos Dados: remoção de duplicadas, tratar valores ausentes ou corrigir inconsistências;
  • Validação dos Dados: verificar os tipos de dados, integridade das relações entre tabelas, etc;
  • Transformação dos Dados: normalizar ou padronizar os dados para escalas comparáveis;

Além disso, podemos ainda documentar todo o processo, através de ferramentas de versionamento de código, como o Git, assim como automatizar processos com fluxos de dados com Airflow. E nesse processo, podemos realizar a tão famosa "EDA" (Análise Exploratória de Dados), onde podemos identificar padrões, outliers e relações entre variáveis, facilitando o entendimento sobre os dados antes de aplicá-los em modelos.



DIO Community
DIO Community - 11/02/2025 15:55

Sisnando, seu artigo traz uma visão essencial sobre a importância da extração de dados e como Python se tornou uma ferramenta indispensável nesse processo. A forma como você estrutura o conteúdo, desde a explicação sobre a origem e o destino dos dados até a aplicação prática com BeautifulSoup e Pandas, ajuda a desmistificar o tema para quem deseja iniciar na área. Além disso, destacar como a extração se encaixa em um pipeline mais amplo, envolvendo armazenamento e transformação, reforça a visão de que dados sozinhos não têm valor.

Na DIO, buscamos sempre incentivar essa visão prática e aplicada do aprendizado, pois sabemos que o domínio dessas técnicas abre portas para diversas oportunidades no mercado de tecnologia. Para quem quer dar os próximos passos após extrair os dados, quais estratégias você recomendaria para garantir a qualidade e confiabilidade das informações antes de utilizá-las para análise ou modelagem preditiva?

Recomendados para você