Como crear un app de relaciones

El conocimiento es poder, y el poder en mi humilde opinión, debe ser de todos y no de unos cuantos, lo malo es que no a todo mundo le gusta o interesa, me consta en todo el código que he regalado, vende más una noticia “polémica” que un taller gratuito para aprender a hacer cosas que te saquen de pobre, 117 visitas a un artículo de eso y más de 2,000 en otro de “polémica”, sin embargo, luego de una “polémica”, acá regalo el concepto, tecnologías y librerías de cómo hacer una aplicación para escaneo de relaciones entre cuentas de Twitter.

Lo primero que se necesita es tener un ambiente de desarrollo, tener instalado Node.js y MongoDB, acá el vínculo con la información de cómo hacer esto:

https://github.com/rodrigopolo/node-mongo-demo/tree/master/install_instructions

Una vez instalado Node.js, MongoDB y corriendo como servicio, teniendo el ambiente de desarrollo para compilar binarios, los binarios en el $PATH/%PATH% y todas las dependencias necesarias, creamos una carpeta para nuestra aplicación.

En esta carpeta iniciamos un proyecto de Node.js, con un “npm init” sale, más info aquí:

https://docs.npmjs.com/cli/init

Una vez inicializado nuestro proyecto, instalamos las librerías necesarias haciendo que el paquete salve esas dependencias para futura referencia, un “npm install $librería –save”, las librerías que vamos a instalar son:

Es de leer la documentación de cada una de estas librerías, crear el “bootstrap” para que se conecte a la base de datos, crear las llaves de acceso para el API y verificar que funcionen.

El Algoritmo

Esto ya es a criterio del desarrollador, el que a mí me gusta mas es el de iniciar en una cuenta de Twitter influenciadora, con muchos seguidores, descargar los últimos 3,200 tweets de forma recursiva, esa parte es MUY interesante por la forma en la que Twitter devuelve el chunks de 200 los tweets, una vez descargados toca hacer agregados en MongoDB para obtener los usuarios de las cuentas que más interactúan con nuestra primera cuenta.

Ya teniendo el listado de los usuarios con los que más interactúa o que más interactúan (a discreción de cada quién) se procede a repetir el proceso de forma recursiva, requiere mucho tiempo y paciencia porque es un scan por cada cuenta. En ese proceso se va registrando la relación “padre<–>hijo” en un documento de MongoDB, lo mágico de MongoDB en comparación de bases de datos tradicionales es que se pueden crear objetos dentro de objetos de forma recursiva y así crear toda una araña de relaciones para luego hacer una gráfica.

Obviamente, al terminar, hay que curar el resultado, se encontrarán falsos positivos, como cuentas que más que interactuar positivamente, estaban interactuando negativamente… sólo que tuviéramos acceso a tecnología más avanzada (Google) pudiéramos definir esa info, y aún así, no hay nada como el factor humano para definirlo.

Ahí está el chivo de cómo hacer una aplicación para escaneo de relaciones en redes sociales, enjoy.

One thought on “Como crear un app de relaciones

  1. Interesante articulo. Aunque según entiendo, MongoDB no es una base de datos orientada a objetos, es una base de datos orientada a documentos, por lo que cada registro es un documento y un documento puede contener otros documentos.

    Lo anterior lo escribo por lo escrito en en post.
    «lo mágico de MongoDB en comparación de bases de datos tradicionales es que se pueden crear objetos dentro de objetos de forma recursiva y así crear toda una araña de relaciones para luego hacer una gráfica»

    Si estoy equivocado me disculpo.

Comments are closed.

Releated

La Nociva Política de Identidad

Como un ciudadano común y corriente, sin afiliarme a ninguna ideología, partido político y demás grupos de identidad política, llevo ya 7 años de estar compartiendo mi perspectiva personal e individual acerca de muchos temas que nos afectan a todos los guatemaltecos. En esos 7 años he cuestionado a medio mundo, a Álvaro Arzú, el […]

Una mentira repetida mil veces

Decía Joseph Goebbels que una mentira repetida mil veces, se convertía en verdad… algo así he visto en los medios que en algún momento admiré y respeté… “Irak tiene armas de destrucción masiva“, lo repitieron hasta el cansancio… luego de una guerra, no se encontró ningún arma de destrucción masiva. “Muslim ban”, “Trump está bloqueando […]