Table of contents
🔄API
Este com certeza você já ouviu uma vez na vida. API, ou Interface de Programação de Aplicações, é um conjunto de regras e ferramentas que permite a comunicação entre diferentes softwares. Em termos simples, é uma ponte 🌉 que permite que um programa utilize funcionalidades de outro. Muitas empresas conhecidas oferecem API's para realizar operações específicas, algumas operações incluem a obtenção de dados de um serviço online, o envio de informações para um servidor, ou a interação com outros componentes de software.
No manual de API da empresa tem os parâmetros e como usar API's, a API do 🎶 iTunes da Apple🍏 neste endereço : https://itunes.apple.com/search?entity=song&limit=1&term=coldplay
se copiar📋 esse link e colar no navegador, irá baixar um arquivo JSON, como mostra a seguinte imagem 👇:
Com o Python pode-se fazer um tratamento a esses dados, e bora 🚀 fazer utilizando dois módulos: (se você não sabe o que são módulos, aqui tem o 👉link)
requests
json
📡 JSON & requests (módulo)
Este módulo vem por padrão na biblioteca do python, então é só importar ele.
import requests
import json
resposta = requests.get("https://itunes.apple.com/search?entity=song&limit=1&term=coldplay")
print(json.dumps(response.json(), indent=2))
# foi usado o param indent=2 ,2 ou 3 fica bom
O requests.get()
☝️ vai fazer uma requisição 'get' no link, ou seja, vai acessar o link, o site vai retornar um arquivo JSON (mas que não da pra entender é nada), que é um padrão de troca de informação no mundo da programação👨💻 e vai receber a mesma informação igual na imagem anterior.
Com o json.dumps()
iremos ordenar essa informação em algo mais legível, e você que está acompanhando esse blog, irá observar que o JSON é um dicionário com listas que guardam dicionários, como mostra a seguinte imagem 👇:
Existem muitas possibilidades de usar esses dados, mas aqui iremos utilizar só o trackName
e o primaryGenreName
que está dentro de um dicionário numa lista chamada "results", bora 🚀 utilizar um loop para selecionar o valor desejado.
import requests
import json
#limitado a 10 músicas ou resultados
# busca por 'pagode'
resposta = requests.get("https://itunes.apple.com/search?entity=song&limit=10&term=pagode")
dados = resposta.json()
for resultado in dados["results"]:
print(f"Música: {resultado['trackName']} Gênero:{resultado['primaryGenreName']}")
Esse script ☝️ está limitado a uma busca. Para aprimorar pode-se adicionar um input do usuário, mas neste exemplo, irei usar o módulo sys
import requests
import sys
import json
if len(sys.argv) != 2:
sys.exit()
#limitado a 10 músicas ou resultados
# busca ilimitada
resposta = requests.get("https://itunes.apple.com/search?entity=song&limit=10&term=" + sys.argv[1])
dados = resposta.json()
for resultado in dados["results"]:
print(f"Música: {resultado['trackName']} Gênero:{resultado['primaryGenreName']}")
Resultado 📊 👇