Aula 01 - Coletando informações em API's usando python
1- Introdução
Nesse tutorial iremos estudar como realizar a coleta de dados via API's
publicas ou privadas. Os exemplos mostrados aqui poderão ser utilizados como base para consumir qualquer API Rest. Sendo assim, para ilustrar esse consumo utilizaremos exemplos simples de API's que
fornecem dados no formato JSON.
2- Desenvolvimento
2.1- O primeiro passo para realizar a coleta de dados é saber qual endpoint iremos acessar. Nesse exemplo utilizaremos o IBGE como fonte de dados. Utilizando o site do IBGE encontramos diversas API's disponíveis para serem consumidas:
https://servicodados.ibge.gov.br/api/docs
Para este exemplo usaremos a API do IBGE sobre os nomes cadastrados no Brasil:
https://servicodados.ibge.gov.br/api/docs/censos/nomes?versao=2
Ao chamar a API com o seguinte endpoint:
https://servicodados.ibge.gov.br/api/v2/censos/nomes/joao
Recebemos o seguinte resultado:
[
{
"nome": "JOAO",
"sexo": null,
"localidade": "BR",
"res":
[
{
"periodo": "1930[",
"periodo": 60155
},
{
"periodo": "[1930,1940[",
"periodo": 141772
},
{
"periodo": "[1940,1950[",
"periodo": 256001
},
{
"periodo": "[1950,1960[",
"periodo": 396438
},
{
"periodo": "[1960,1970[",
"periodo": 429148
},
{
"periodo": "[1970,1980[",
"periodo": 279975
},
{
"periodo": "[1980,1990[",
"periodo": 273960
},
{
"periodo": "[1990,2000[",
"periodo": 352552
},
{
"periodo": "[2000,2010[",
"periodo": 794118
}
]
}
]
2.2- Para consumir uma API usando o python podemos usar recursos nativos do
python:
# essa linha importa os recursos
import json, requests
# essa linha pega os recursos do link e atribui a variavel
response = requests.get("https://servicodados.ibge.gov.br/api/v2/censos/nomes/joao")
# realiza a conversão do response para um formato acessível ao python
json_data = json.loads(response.text)
# imprime na tela o valor do primeiro ano do censo - demonstração de navegação
print(json_data[0]['res'][0])
Post a Comment