image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Sisnando Junior
Sisnando Junior11/02/2025 11:49
Share

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!

Share
Comments (1)
Sisnando Junior
Sisnando Junior - 11/02/2025 11:51

Quem quiser saber mais sobre mim e acompanhar minha trajetória no mundos dados, segue minhas redes sociais:

https://www.linkedin.com/in/sisnando-junior/

https://github.com/nandodevs