Datascience - Web Scrapping de dados públicos com Python

Datascience - Web Scrapping de dados públicos com Python

Neste artigo, vamos explorar um código em Python que realiza o Web Scrapping de dados do site da FIRJAN (Federação das Indústrias do Estado do Rio de Janeiro) e insere esses dados em um banco de dados. O código é dividido em etapas, desde a importação das bibliotecas necessárias até a inserção dos dados no banco de dados. Vamos seguir cada etapa detalhadamente.

O que é o Web scrapping?

O Web Scrapping é uma técnica utilizada para extrair dados de websites de forma automatizada. Neste caso, iremos utilizar o Web Scrapping para obter informações sobre o IFGF (Índice FIRJAN de Gestão Fiscal) de diferentes municípios. Após a extração dos dados, iremos armazená-los em um banco de dados para analisar posteriormente.

Passo 1: Importando Bibliotecas

A primeira etapa consiste na importação das bibliotecas necessárias para o nosso projeto. Vamos importar as seguintes bibliotecas:

- Pandas: utilizada para manipulação e análise dos dados;

- Time: utilizada para medir o tempo de execução;

- Psycopg2: utilizado para conexão com bancos de dados PostgreSQL;

- MySQL.connector: utilizado para conexão com bancos de dados MySQL;

- SQLalchemy: utilizado para criar a conexão com o banco de dados;

- Urllib: utilizado para fazer o download do arquivo.

Passo 2: Download dos Dados

A segunda etapa consiste no download dos dados do site da FIRJAN. Utilizaremos a biblioteca urllib para realizar o download. Será feito o download de um arquivo Excel que contém os dados referentes ao IFGF.

Passo 3: Pré-Análise dos Dados

Após o download dos dados, realizaremos uma pré-análise para entender sua estrutura e formatá-los de acordo com nossas necessidades. Nesta etapa, vamos separar as abas do arquivo, filtrar os dados para o estado do Pará e substituir espaços por underscores no cabeçalho, além de remover letras maiúsculas.

Passo 4: Tratamento dos Dados

Nesta etapa, trataremos os dados para torná-los adequados para inserção no banco de dados. Vamos tratar os valores nulos, substituindo-os por zero, e ajustar a tipagem das colunas, utilizando a biblioteca pandas. Faremos essas operações em cada tabela separadamente.

Passo 5: Ajuste na Tipagem dos Dados

Agora, iremos ajustar a tipagem dos dados em uma tabela específica chamada "geral". Utilizaremos a função melt para derreter as colunas selecionadas em linhas. Após essa transformação, removeremos o prefixo "ifgf_" do nome das colunas.

Passo 6: Inserção no Banco de Dados

A última etapa consiste na inserção dos dados tratados no banco de dados. Neste exemplo, estamos utilizando um banco de dados PostgreSQL. Primeiro, criamos a conexão com o banco de dados utilizando as informações de autenticação corretas. Em seguida, realizamos a inserção dos dados na tabela "firjan_ifgf" do esquema "economia".


Conclusão

Neste artigo, exploramos um exemplo de código em Python que realiza o Web Scraping de dados do site da FIRJAN e insere esses dados em um banco de dados. O processo envolveu o download dos dados, pré-análise, tratamento dos dados e inserção no banco de dados. Essa abordagem automatizada permite extrair informações de forma rápida e eficiente para análises posteriores. O Web Scraping pode ser uma técnica valiosa para obter dados de websites e alimentar sistemas ou análises de dados.

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.