[Script] Facebook Data Mining

Hace ya mucho tiempo que Facebook está siendo criticado por su forma de manejar la información de sus usuarios. En mi opinión, si bien hay muchas cosas que son reprochables al producto de Mark Zuckerberg, son las condiciones y/o cualidades del servicio y es el usuario final quien acepta o no la utilización del servicio.

Más allá de la manera en que maneja la privacidad, Facebook cuenta con una API llamada Facebook Graph. La misma presenta una visión sencilla y coherente de la gráfica social de Facebook, que representan objetos de manera uniforme en la gráfica (por ejemplo, la gente, fotos, eventos, y las páginas) y las conexiones entre ellas (por ejemplo, las relaciones de amigo, contenido compartido, y etiquetas de fotos ).

Cada objeto en el gráfico social tiene una identificación única. Se puede acceder a las propiedades de un objeto mediante la solicitud de https://graph.facebook.com/ID. Por ejemplo, la página oficial de la plataforma de Facebook tiene el id 19292868552, por lo que se puede recuperar el objeto en https://graph.facebook.com/19292868552.

Así se ve la salida del ID 594446825 (http://graph.facebook.com/594446825):

   1: {
   2:    "id": "594446825",
   3:    "name": "Dianis Mill\u00e1n",
   4:    "first_name": "Dianis",
   5:    "last_name": "Mill\u00e1n",
   6:    "link": "https://www.facebook.com/dianis.millan",
   7:    "username": "dianis.millan",
   8:    "gender": "female",
   9:    "locale": "es_LA"
  10: }

Si bien no es información del todo privada, menciona (según el caso) apellido, sexo y en qué idioma está configurado su Facebook; asimismo si la configuración de privacidad fuese tal que el mail sea público, aparecería en los datos.

Fué por ello que he creado un script hecho en Python, cuyos propósitos son varios y quedan a la interpretación del lector, con el cual se pretende ir obteniendo datos de diferentes IDs. Proporcionando un ID inicial y la cantidad de IDs que se quieran obtener, el script arrojará un archivo XML con los resultados.


Ejemplo del resultado:

  1: <?xml version="1.0" ?>
  2: <fbDataMining>
  3: 	<usuario id="594446795">
  4: 		<id>
  5: 			594446795
  6: 		</id>
  7: 		<name>
  8: 			Zubin Chhatriwala-Ali
  9: 		</name>
 10: 		<first_name>
 11: 			Zubin
 12: 		</first_name>
 13: 		<last_name>
 14: 			Chhatriwala-Ali
 15: 		</last_name>
 16: 		<username>
 17: 			zubin.chhatriwala
 18: 		</username>
 19: 		<gender>
 20: 			female
 21: 		</gender>
 22: 		<locale>
 23: 			en_US
 24: 		</locale>
 25: 	</usuario>
 26: 	<usuario id="594446799">
 27: 		<id>
 28: 			594446799
 29: 		</id>
 30: 		<name>
 31: 			Sunni Burgess
 32: 		</name>
 33: 		<first_name>
 34: 			Sunni
 35: 		</first_name>
 36: 		<last_name>
 37: 			Burgess
 38: 		</last_name>
 39: 		<gender>
 40: 			female
 41: 		</gender>
 42: 		</...>

El código lo pueden descargar obtener de las siguientes maneras:


La web del proyecto: http://code.google.com/p/fb-data-mining/downloads/list
PasteBin: http://pastebin.com/aktNKDEq


Cualquier comentario, modificación o mejora será bienvenida.

Entradas populares de este blog

Trinity Rescue Kit: Tutorial para eliminar la contraseña de administrador en Windows

Cómo extraer el handshake WPA/WPA2 de archivos de captura grandes