Curso de programación de criptomonedas con Python - 2. Cómo empezar: llamadas a APIs

in #spanish7 years ago (edited)

Vamos a ver en esta clase los conceptos básicos que necesitamos saber para comenzar. Supongo que ya tenéis instalado Python 2.7 o superior y configurado el intérprete. Así que vayamos directamente al grano.

Introducción a las APIs

Lo que vamos a hacer en las primeras clases es trabajar con APIs. Son aplicaciones alojadas en webs las cuales podremos utilizar para obtener datos y realizar acciones. Todas las páginas que trabajan con criptomonedas nos proporcionan su propia API para que podamos automatizar toda clase de acciones. Para empezar, vamos a ir a la documentación de la API de Coinmarketcap:

https://coinmarketcap.com/api/

Para acceder a los datos que nos brinda coinmarketcap vamos a realizar llamadas HTTP. ¿Qué significa esto? Mira el ejemplo que viene en "Ticker": https://api.coinmarketcap.com/v1/ticker
Entra a esa página con tu navegador web. Verás que te aparecen datos de cada criptomoneda. Más adelante veremos como elegir los que queremos seleccionar para tratarlos.
Ahora mira de nuevo en "Ticker", donde dice parámetros adicionales. Podemos añadir el siguiente texto a la dirección HTTP anterior: ?limit=10 Ahora nos dará la información de, únicamente, las 10 primeras criptomonedas del ranking de coinmarketcap. Ese número lo podemos cambiar por cualquiera siempre que exista ese número de criptomonedas, por ahora hay 653 criptomonedas. Puedes saber cuántas hay accediendo al siguiente enlace: https://api.coinmarketcap.com/v1/global/

Pero estos datos no nos sirven de mucho porque son difíciles de leer y, con nuestro navegador, no los podemos manipular directamente. Para jugar con esta información vamos a acceder a ellos a través de un lenguaje de programación.

Accediendo a las APIs con Python


Si abrimos un editor de código que interprete para Python y ponemos simplemente las URL's que hemos visto antes nos va a dar error. Para abrir HTTPs en Python es necesario la librería request.
Si no sabes lo que es una libreria, ve aquí. Si no sabes instalar librerías lee esto. Hay otras formas de instalarlas, busca información por la red, te vendrá muy bien saberlas.

Para saber instalar la libreria requests click aqui.

Cuando tengamos instalada el módulo requests, ya podremos enviar peticiones fácilmente. Vamos a nuestro editor y escribimos import requests para importar este módulo en nuestro script. Siempre usaremos import al principio de nuestros scripts para cargar módulos en ellos.
Ya sólo nos queda escribir lo siguiente:

respuesta = requests.get("https://api.coinmarketcap.com/v1/global/")
print respuesta

Si corremos la aplicación vamos a tener lo mismo que nos aparecía en el navegador, pero en Python. Paso a explicar el código: respuesta es una variable que hace referencia a una llamada al módulo requests. Esta llamada es get y nos devueve la información en bruto que hay en la URL. Más adelante entenderás cómo se hacen este tipo de llamadas. En la mayoría de los casos no vas a necesitar copiar y pegar las URLs, ya que esto es muy tedioso. En la siguiente clase veremos cómo olvidarnos de ellas al programar nuestros scripts.

Por ahora ya tienes lo básico para empezar. Si quieres, puedes ir ojeando las APIs de Bittrex y Poloniex, con las que trabajaremos más adelante. ¡Hasta la próxima clase!


Índice del curso:

1. Presentación
2. Cómo empezar: llamadas a APIs
3. Envolturas

Sort:  

Hola Amigo, muy buen post y de verdad he estado de aqui para alla con las apis en python y aunque actualmente estoy trabajando con ODOO/python me gustaria mucho usar esta API, he usado otras APIs puedes checkear mis proyectos en stickbitshell.wordpress.com... ay encontraras informacion de como manejar inforamcion de las API con el protocolo de seguridad OAUTH... gracias por el post y sigue con este proyecto que se ve muy interesante

Muy interesante el protocolo oauth, no lo conocía, gracias!

This post has been linked to from another place on Steem.

Learn more about and upvote to support linkback bot v0.5. Flag this comment if you don't want the bot to continue posting linkbacks for your posts.

Built by @ontofractal

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.035
BTC 64646.46
ETH 3357.15
USDT 1.00
SBD 4.44