Hoy vamos a ver como podemos como podemos obtener información de la API v1.1 de Twitter. Para ello vamos a usar un modulo de python que nos va a facilitar el trabajo, posteriormente veremos como podemos guardar toda esta información en una base de datos MongoDB.
El objetivo de esta practica será sacar información de todos los amigos que seguimos en twitter, como por ejemplo la localización, el numero de seguidores y amigos que tienen y el numero de tweets enviados.
Lo primero que vamos a hacer sera registrarnos en Twitter si no tenemos una cuenta, en caso de que la tengamos, vamos a logarnos en el portal de desarrollo y vamos a crear una nueva aplicación, para tener acceso a los datos para acceder a la API, mediante autenticación OAuth.
Una vez tengamos creada la aplicación en el portal, debemos tener a mano los valores de las siguientes variables para autenticarse:
consumer_key consumer_secret access_token_key access_token_secretAhora vamos a instalar los modulos pymongo y python-twitter, para pode empezar a trabajar con python.
pip install pymongo pip install python-twitterAhora ya disponemos nuestro sistema preparado para poder crear nuestro script, podeis descargarlo desde aqui.
from pymongo import MongoClient import twitter # Datos de autenticacion OAUTH_TOKEN='Rellenar con vuestros datos'; OAUTH_SECRET='Rellenar con vuestros datos'; CONSUMER_KEY='Rellenar con vuestros datos'; CONSUMER_SECRET='Rellenar con vuestros datos'; # Conexión a la API api = twitter.Api(consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, access_token_key=OAUTH_TOKEN, access_token_secret=OAUTH_SECRET); # Procedimiento para mostrar los datos de cada amigo seguido en Twitter. def GetFriendsInformation(user, api): # Obtenemos el listado de de amigos del usuario pasado TwitterFriends = api.GetFriends(screen_name=user); # Por cada amigo vamos a mostrar la informacion que desemos for Friends in TwitterFriends: # Nombre mostrados print 'Amigo ' + Friends.screen_name; # Localizacion print '\t Localizacion: ' + Friends.location; # Numero de seguidores print '\t Numero de seguidores: ' + str(Friends.followers_count); # Numero de amigos print '\t Numero de amigos: ' + str(Friends.friends_count); # Numero de tweets enviados print '\t Numero de tweets enviados: ' + str(Friends.statuses_count); # Llamada al procedimiento para obtener los datos del usuario HispaBigData # Sustituir el usuario por el vuestro o cualquiera que querais analizar. GetFriendsInformation('hispabigdata', api);Entre lineas en el script explicamos cada uno de los pasos, si lo ejecutáis, obtendréis el listado de usuario que seguimos y la información que hemos comentado anteriormente. Hay que tener cuidado de ejecutar el script muchas veces, ya que el acceso a a la API tiene un limite de veces por minuto.
Si queremos ver todos los datos que podemos obtener de un usuario o de otro tipo, podemos leer la documentación que nos proporciona el módulo de python-twitter.
pydoc twitter.User pydoc twitter.Status pydoc twitter.DirectMessageLa semana que viene veremos como usar esta información para almacenarla en nuestra base de datos MongoDB, para ello crearemos un nuevo procedimiento y realizaremos algunos cambios en el script. Podéis acceder desde aquí al siguiente artículo.
No hay comentarios:
Publicar un comentario