Saltar al contenido

Cómo acceder a varios servicios web en Python

Visión general

Una muy buena forma de aprender Python es intentar trabajar con varios servicios web.
API.

¿Cómo accedo a servicios web como Youtube, Vimeo, Twitter?

Para responder a eso, primero tendremos que obtener algunos conocimientos sobre las API,
JSON, estructuras de datos, etc.

Empezando

Para aquellos de ustedes que nos han seguido, es de esperar que hayan obtenido algunos conocimientos básicos.
Conocimiento de Python. Y para los que no lo han hecho, les sugiero que empiecen a leer
nuestras páginas en la parte superior del sitio o haga clic en el enlace de abajo que desee
para leer más sobre.

Tutorial de Python

Conceptos básicos (descripción general)

Diccionario

Funciones

Liza

Bucles

Módulos

Instrumentos de cuerda

API: interfaz de programación de aplicaciones

Una API es un protocolo destinado a ser utilizado como interfaz por componentes de software.
para comunicarse entre sí. Una API es un conjunto de instrucciones de programación y
estándares para acceder a aplicaciones de software basadas en la web (como las anteriores).

Con las aplicaciones de API se comunican entre sí sin el conocimiento del usuario o
intervención.
A menudo, empresas como Google, Vimeo y Twitter lanzan su API al público.
para que los desarrolladores puedan desarrollar productos que funcionan con su servicio.

Es importante saber que una API es una interfaz de software a software,
no una interfaz de usuario.

Clave API

Muchos servicios en Internet (como Twitter, Facebook …) requieren que
tener una “clave API”.

Una clave de interfaz de programación de aplicaciones (clave API) es un código pasado por
programas informáticos que llaman a una API para identificar el programa que llama, su desarrollador,
o su usuario al sitio web.

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.

Las claves de API se utilizan para rastrear y controlar cómo se utiliza la API, por ejemplo
para evitar el uso malintencionado o el abuso de la API.

La clave de API a menudo actúa como un identificador único y un token secreto para
autenticación, y generalmente tendrá un conjunto de derechos de acceso en la API
asociado a ello.
Cuando interactuamos con una API, a menudo obtenemos las respuestas en un formulario llamado JSON.

Json

Vamos a ver muy rápido y sin ir demasiado en profundidad qué es JSON.
JSON (JavaScript Object Notation) es un formato compacto basado en texto para computadoras
para intercambiar datos.

Está construido sobre dos estructuras:
– Una colección de pares de nombre / valor

– Una lista ordenada de valores.
JSON toma estas formas: objetos, matriz, valor, cadena, número

Objeto
– Conjunto desordenado de pares nombre / valor.
– Empieza con {y termina con}.
– Cada nombre va seguido de: (dos puntos)
– Los pares de nombre / valor están separados por (coma).
Formación
– Colección ordenada de valores.
– Empieza con [ and ends with ].
– Los valores están separados por (coma).
Valor
– Puede ser una cadena entre comillas dobles, número o verdadero, falso o nulo,
o un objeto o una matriz.
Cuerda
– Una secuencia de cero o más caracteres Unicode, envuelta en doble
comillas, utilizando escapes de barra invertida.
Número
– Entero, largo, flotante

Acceso a servicios web

Python nos proporciona la json y simplejson módulos para interactuar con JSON.
En este momento, debemos saber qué es una API y qué hace. Adicional, ahora
Conozca los conceptos básicos de JSON.

Para comenzar a acceder a los servicios web, primero debemos encontrar una URL para
llamar a la API.

Antes de obtener la URL, le recomiendo que lea la documentación.
proporcionado (si lo hubiera).

La documentación describe cómo utilizar la API y contiene información importante.
sobre cómo podemos interactuar con él.
La URL que necesitamos a menudo se puede encontrar en el sitio web de la empresa,
en el mismo lugar donde se encuentra la documentación de la API.

Como ejemplo:

Youtube
http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json

Vimeo
http://vimeo.com/api/v2/video/video_id.output

Reddit
http://www.reddit.com/user/spilcm/comments/.json

Tenga en cuenta que estos pueden estar desactualizados, por lo tanto, verifique que tenga la última
versión.

Cuando tenga una URL y haya leído la documentación proporcionada, comenzamos con
importando los módulos que necesitamos.

¿Qué módulos necesito?

Los módulos que suelo usar cuando trabajo con JSON son:
peticiones
json (o simplejson)
pprint

Solía ​​usar el módulo urllib2 para abrir las URL, pero desde Kenneth Reitz
nos dio el módulo de Solicitudes, dejo que ese módulo haga la mayoría de mis tareas HTTP.

Trabajando con los datos

Una vez que sepa qué URL necesita y haya importado los módulos necesarios,
podemos usar el módulo de solicitud para obtener el feed JSON.

r = request.get (“http://www.reddit.com/user/spilcm/about/.json”)
r.text

Puede copiar y pegar la salida en un editor JSON para obtener una descripción general más sencilla
sobre los datos.

yo suelo http://jsoneditoronline.org/ pero cualquier editor JSON debería hacer el trabajo.

El siguiente paso sería convertir la salida JSON en un diccionario de Python.

Convirtiendo los datos

Esto tomará la cadena JSON y la convertirá en un diccionario:
json.loads (r.text)

Nota: También puede tomar un objeto Python y serializarlo en JSON, usando
json.dumps ().

Sin embargo, eso no es lo que queremos hacer ahora.

Recorriendo el resultado

Sabemos que tenemos un diccionario de Python y podemos comenzar a usarlo para obtener los resultados.
queremos.

Una forma común de hacerlo es recorrer el resultado y obtener los datos que
Estas interesado en.

A veces, esta puede ser la parte complicada y es necesario observar detenidamente cómo
se presenta la estructura.
Nuevamente, usar un editor Json lo hará más fácil.

Usando la API de YouTube

En este punto, deberíamos tener suficiente conocimiento e información para crear un programa

Este programa mostrará los videos más populares en YouTube.

#Import the modules
import requests
import json

# Get the feed
r = requests.get("http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?v=2&alt=jsonc")
r.text

# Convert it to a Python dictionary
data = json.loads(r.text)

# Loop through the result.
for item in data['data']['items']:

    print "Video Title: %s" % (item['title'])

    print "Video Category: %s" % (item['category'])

    print "Video ID: %s" % (item['id'])

    print "Video Rating: %f" % (item['rating'])

    print "Embed URL: %s" % (item['player']['default'])

    print

Vea cómo recorremos el resultado para obtener las claves y los valores que queremos.

Ejemplos de YouTube, Vimeo y Twitter

Cómo usar la API de YouTube en Python

Cómo usar la API de Vimeo en Python

Cómo usar la API de Twitter en Python

Analizando JSON

Documentación de API para varios servicios web

Youtube
https://developers.google.com/youtube/2.0/developers_guide_json

Vimeo
http://developer.vimeo.com/apis/

Gorjeo
https://dev.twitter.com/docs/api/1.1/overview

Reddit
http://www.reddit.com/dev/api

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.