Como usar os dados da API JSON no Python
- 4888
- 1595
- Mr. Mitchell Hansen
Objetivo
Consuma uma API JSON em Python.
Distribuições
Isso funcionará em qualquer distribuição Linux.
Requisitos
Uma instalação do Linux Working com Python.
Dificuldade
Fácil
Convenções
- # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de
sudo
comando - $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular
Introdução
Uma das principais razões pelas quais você gostaria de trabalhar com o JSON em Python está consumindo APIs. Existem centenas de excelentes APIs públicas por aí e prontas para usar em seu aplicativo. Até jogadores enormes na web, como o Facebook e o Twitter, fora de APIs para você trabalhar com.
Você pode criar aplicativos inteiros em torno dos dados da API, incluindo a criação de aplicativos da Web que se agregam, manipulam e exibem esses dados de uma maneira conveniente.
Configure um arquivo
Antes de começar a trabalhar com APIs, você precisa configurar um arquivo python. É muito mais fácil do que trabalhar no intérprete. Comece importando o módulo JSON.
importar json
Você precisará urllib3
. Permite acessar um URL com python.
Importar urllib3
Abra o URL
Embora existam uma tonelada de grandes APIs na internet, a maioria deles exige que você se inscreva para obter uma chave de API. Este guia não é sobre isso ou usando uma API específica. A API Opendota fornece acesso a uma tonelada de dados referentes ao popular MOBA DOTA2 sem a necessidade de se inscrever ou obter uma chave. Caso você não soubesse, está disponível para Linux. Essa é a API que este guia usará.
Você pode encontrar a documentação para toda a API em https: // docs.Opendota.com
, Mas este guia estará usando o https: // API.Opendota.com/api/heróis
Dados de heróis.
Comece criando um PoolManager ()
objeto usando urllib3
. É esse objeto que você pode usar para fazer solicitações para um site.
http = urllib3.PoolManager ()
Fazer um PEGAR
solicitação usando o http
Objeto que você acabou de criar para a API dota.
heróis = http.solicitação ('Get', 'https: // API.Opendota.com/api/heróis ')
Analise o json
Tente imprimir o Heróis
variável que você acabou de criar.
impressão (heróis)
Não o que você esperava? Ainda é um objeto de solicitação e tem mais dados do que você precisa. Tente imprimir Heróis.dados
impressão (heróis.dados)
Isso parece mais próximo, mas ainda não está lá. Decode os dados para UTF-8.
impressão (heróis.dados.Decode ('UTF-8'))
Agora, isso é JSON. Você pode analisar isso com o módulo JSON.
heróis_dict = json.Carrega (heróis.dados.Decode ('UTF-8')) Print (Heroes_Dict)
Trabalhe com os dados
Você tem um dicionário python contendo todos os dados da API. Agora você pode usar esses dados, como escolher. Tente iterando sobre isso.
Para Hero in Heroes: Print (Heroes ['Localized_Name']))
Seu loop imprimirá o nome de todos os heróis em Dota2. Você pode ver no dicionário que há mais dados de Ton, mas você sabe como acessar isso.
Pensamentos finais
A estrada não havia tão direto, mas certamente chegou lá. Se você está fazendo isso com as chaves da API, isso apenas mudará a estrutura de URL. Todo o resto deve permanecer o mesmo o tempo todo. Agora você está equipado para acessar dados da API de seus programas Python.
Exercício
Escolha e API de https: // github.com/Toddmotto/Public-Apis
, e convertê -lo em um dicionário de Python. Itera sobre ele e imprima os valores de pelo menos duas chaves.
Tutoriais do Linux relacionados:
- Coisas para instalar no Ubuntu 20.04
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Melhor tocador de música para Linux
- Download do Linux
- Comandos Linux: os 20 comandos mais importantes que você precisa para…
- Melhor distro Linux para desenvolvedores
- Como habilitar o enormePages no Linux
- Uma introdução à automação, ferramentas e técnicas do Linux
- Comandos básicos do Linux
- Como imprimir a árvore do diretório usando o Linux
- « Como organizar suas senhas usando o Pass Wast Manager
- Como substituir o Systemd pelo SYSV init no Debian Linux »