Servicio rest con nodejs, express 4 y mysql
Servicio rest con nodejs, express 4 y mysql

¿Qué significa Twitter streaming con Node.JS y Socket.IO?, éso, streaming con nodejs y socket.io, una forma de obtener información a chorros haciendo uso de la api de twitter gracias a nodejs y socket.io.

Nosotros vamos a crear un sencillo ejemplo en el que veremos como hacer peticiones a twitter a través de statuses/filter, el cuál nos permite personalizar filtros para hacer búsquedas en vivo de lo que está ocurriendo actualmente en twitter.

Importante es decir que para que esto sea posible, deberemos hacer uso de ntwitter, un módulo que tenemos disponible en nodejs. Este módulo no tiene únicamente stream, sino que tiene otras funcionalidades, pero nosotros vamos a ver un ejemplo con stream, ya que me parece muy útil e interesante.

Twitter streaming con Node.JS y Socket.IO

Lo primero que debes hacer es obtener las claves de tu aplicación de twitter, si aún no la has creado, te invito a que visites este tutorial en el qué con pocos pasos puedes conseguir esos datos, en otro caso, puedes quedarte y seguir el tutorial.

Una vez hecho, crea un nuevo proyecto con express utilizando los siguiente comandos en tu terminal de node.

Con éso ya tienes un proyecto creado y todo lo que nos hace falta para crear nuestro ejemplo, abre el archivo app.js y reemplaza el código por el siguiente.

Como podemos ver, sólo tenemos el evento en la conexión, y dentro de él, hacemos uso de stream gracias al módulo ntwitter, en el cuál tenemos un pequeño filtro, en nuestro caso, el ejemplo lo haremos con la palabra playstation, con un nivel de filtro mediano y los lenguajes español e inglés, de esta forma los podremos detectar más adelante con jQuery y así hacer el conteo por separado. Finalmente emitimos el evento twitter devolviendo los datos obtenidos para capturarlo después.

Crea un archivo en public/javascripts llamado functions.js y añade el siguiente código.

Ahora sólo debes abrir el archivo views/index.jade y añadir el siguiente código, gracias al cuál podrás visualizar como twitter nos devuleve la info y el pequeño contador que hemos creado para, de forma más visual, ver como va la “competición”.

Y éso es todo, con este sencillo código podemos ver trabajando twitter streaming con Node.JS y Socket.IO.

El código en github