Advertisement

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])




Nenhum comentário

Conta pra mim sua opinião!

Fale comigo