martes, 6 de septiembre de 2011

¿Cómo saber quien te dejó de seguir en Twitter? (¡Hágalo usted mismo con Python y la linea de comandos!)


Cuando uno usa el sistema de microblogging Twitter a veces uno quiere saber quien dejó de seguirlo. Existen algunos servicios basados en la web para ello como who.unfollowed.me , y twit-herramientas. El problema con estas herramientas, es que obviamente hay que autorizar a acceder a nuestra cuenta de Twitter a aplicaciones de terceros.

Acá les comento una solución alternativa muy sencilla que encontré, utilizando el lenguaje de programación
Python (¡mi lenguaje favorito!) y el paquete  Tweepy que provee una interfase pythonica muy sencilla a la API de twitter (La probé en un entorno GNU/Linux, pero debería funcionar en cualquier sistema que pueda correr Python y que provea un shell similar al de UNIX).

Una vez instalado Tweepy en nuestro sistema, creamos un script en python como sigue:

=====================================================================


#!/usr/bin/python

import tweepy

api=tweepy.API()

follower_cursors = tweepy.Cursor(api.followers, id = 'usuario')
for follower_cursor in follower_cursors.items():
  print follower_cursor.id,'\t',follower_cursor.screen_name


======================================================================

(reemplacen "usuario"  por su nombre de usuario en twitter). Este script muestra una lista de los usuarios
que siguen al usuario esfecificado incluyendo su user id (un número único de identificación y su nombre de usuario (screen_name) en twitter.

(Notemos que para obtener la lista de seguidores no se requiere autenticarse con twitter)

Graben el archivo como lista_seguidores.py y dénle permiso de ejecución (con chmod +x lista_seguidores.py)

¡Ya está!: ahora pueden grabar su lista de seguidores en un momento dado usando la redirección del shell de UNIX así:

./lista_seguidores.py > mis_seguidores-fecha1.txt

En un momento posterior, pueden crear una nueva lista


./lista_seguidores.py > mis_seguidores-fecha2.txt

Entonces pueden saber que seguidores nuevos tienen y quienes dejaron de seguirlos usando el comando diff 

diff mis-seguidores-fecha1.txt mis-seguidores-fecha2.txt

Adicionalmente pueden poner un script en el cron para guardar en foma automática la lista de seguidores (por ejemplo una vez por día).

Actualización (21/9/2011): Anteriormente les proponía usar el siguiente script

=======================================================================


#!/usr/bin/python

import tweepy

user = tweepy.api.get_user('usuario')
for follower in user.followers():
   print follower.id,'\t',follower.screen_name

======================================================================


pero este funciona sólo si tienen menos de 100 seguidores (como ahora descubrí), debido a la "paginación" de twitter (que devuelve los seguidores en bloques de hasta 100). Debí entonces buscar la manera de iterarlo, encontré la respuesta gracias a

http://groups.google.com/group/tweepy/browse_thread/thread/b7f8f1a3af9488d2

jueves, 14 de junio de 2007

Veamos que tal resulta blogger...

Este es por ahora un blog de prueba. Tengo otro en wordpress.org, los que me caen muy bien ya que Wordpress es software libre.

Pero es un programa que tiene muchos bugs, y mi página no se ve realmente bien. Algunos amigos (como Juan Pablo) me han recomendado usar blogger.

Así que he decido hacer la prueba. Lamentablemente el nombre de blog "bytes libres" ya está usado. Así que tuve que inventar otro... y "bytes personales" me pareció el más adecuado.