Tutorial Raspberry Pi - Uso de Twitter con Python

¡Hola! Tras una semana de intensa investigación, me atrevo a suponer que más de un usuario tiene problemas con el envío de notificaciones por Twitter a través de su Raspberry Pi. Es por eso que he decidido hacer este pequeño tutorial de la manera más sencilla para usar Twitter. Lo que puedas hacer con esto ya depende mucho de tu creatividad, yo por ejemplo pienso incorporarlo a una casa Inteligente controlada por Raspberry Pi.

En este tutorial  les enseñaré a crear su aplicación en Twitter para tener el acceso a todo y poder mandar Tweets, instalar Tweepy y programar en Python para crear estados, ver estados públicos, de usuarios y amigos, etc.

¡Empecemos!

Primero tenemos que dirigirnos al siguiente link.   AQUí... yveremos una ventana como esta:

Nota: tal vez les aparezca en inglés. En mi caso aparece así por el Google Chrome.Rellenamos los datos e iniciamos sesión.  Buscamos el botón azul con la opción de crear nueva aplicación y nos redirige a este formulario.

Rellenamos los datos que nos pide y aceptamos los términos y condiciones de uso. Los invito a que los lean más tarde. Resolvemos el captcha y clickamos en el botón de Crear tu Aplicación de Twitter. En seguida se nos muestra la siguiente ventana.

Esas claves nos servirán para identificarnos a través de Python, pero primero modificamos el nivel de acceso, porque por defecto esta en sólo lectura. Para esto damos click en la pestaña de arriba que dice "Settings" y nos dirigimos a el área de "Application Type" . Seleccionamos la opción de "Read, Write and Access direct messages". Damos click en el botón azul del final para guardar los cambios y ahora volvemos a la pestaña "Details", nos esperamos unos 2 minutos y actualizamos la página ya que demora en actualizar los datos.

Una vez que el nivel de acceso este cambiado daremos click en "Create my access token". Espere un minuto, actualice nuevamente la página y listo. No cierre la página ya que utilizaremos esas claves.

Ahora nos abrimos una nueva terminal en nuestra Raspberry Pi y ejecutaremos los siguientes comandos para instalar la librería de Tweepy.

sudo apt-get install python-setuptools sudo easy_install pip sudo pip install tweepy

Tras haber instalado la librería, ya podemos crear un código en Python. Podemos escribirlo desde consola, mediante IDLE o Leafpad.

Primer ejemplo: Actualizar estado

En este ejemplo veremos la manera de conectarnos con Twitter y actualizar nuestro estado mediante un texto determinado en el código, ten a la mano los códigos que anteriormente obtuviste.

#!/usr/bin/env python import tweepy #Coloca dentro de las comillas tus claves... CONSUMER_KEY = 'Aquí coloca Consumer key' CONSUMER_SECRET = 'Aquí coloca Consumer secret' ACCESS_KEY = 'Aquí coloca Access token' ACCESS_SECRET = 'Aquí coloca Access token secret' #En esta parte nos identifica para poder realizar operaciones auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) #update_status('mensaje' o variable) es para actualizar nuestro estado x = tweepy.API(auth) x.update_status('@GeekyTheory Si me Funciono el Tuto de @luisvillak ')

Guardamos el archivo donde mejor nos convenga y lo ejecutamos como cualquier código de Python. En mi caso lo guarde como tuto.py, así que en la terminal pondré:

python tuto.py

Como ven al ejecutarlo no devuelve ningún parámetro, pero al verificar nuestro Twitter vemos que efectivamente actualizó nuestro estado.

Segundo ejemplo: Ver nuestros estados

Una vez hemos accedido a Twitter, podremos hacer muchas cosas, pero antes mostraré algunos parámetros para facilitar su experiencia con esta herramienta. Con este ejemplo veremos cómo mostrar nuestros últimos estados.

Para poder mostrar nuestros estados usaremos la función user_timeline() , la cual sin ningún parámetro nos devolverá nuestros últimos 20 estados.

#!/usr/bin/env python import tweepy #Coloca dentro de las comillas tus claves... CONSUMER_KEY = '??????????????????' CONSUMER_SECRET = '?????????????????????????' ACCESS_KEY = '???????????????????????????????????????' ACCESS_SECRET = '???????????????????????????????????????' #En esta parte nos identifica para poder realizar operaciones auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) #update_status('mensaje' o variable) es para actualizar nuestro estado x = tweepy.API(auth) for tweets in x.user_timeline(): print(tweets.created_at) print(tweets.text) print(' *'*40)

El for nos ayuda a guardar la lista de objetos en una variable. Para mostrar el texto del estado llamamos a la variable variable.text y para mostrar la fecha de creación del estado sería variable.created_at. El ultimo print sólo es para separar los comentarios con una serie de " *" . Guardamos y ejecutamos nuestro código de la misma forma que el anterior.

Tercer Ejemplo: Estados de Usuario y Amigos

En este tercer ejemplo veremos, el uso de la función home_timeline, que es la que nos permite mostrar los estados de usuarios y amigos incluyendo retweets, el uso de limitaciones, es decir, el cómo podemos mostrar en lugar de los 20 estados que se muestran por inercia, mostrar sólo 2 o los que deseemos.

Como ahora los estados no son sólo nuestros, necesitaremos mostrar de qué usuario son para no perdernos leyendo tweets. Eso lo haremos con vriable.user.screen_name, como vemos en el código siguiente:

#!/usr/bin/env python import tweepy #Coloca dentro de las comillas tus claves... CONSUMER_KEY = '??????????????????????' CONSUMER_SECRET = '??????????????????????' ACCESS_KEY = '??????????????????????' ACCESS_SECRET = '??????????????????????' #En esta parte nos identifica para poder realizar operaciones auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) x = tweepy.API(auth) for tweets in x.home_timeline(count=2): print(tweets.created_at) print(tweets.user.screen_name) print(tweets.text) print(' *'*40)

Guardamos y nuevamente ejecutamos normalmente como lo hemos estado haciendo hasta ahora.

Como podemos ver, esto equivale a la página de inicio que nos sale en Twitter:

Cuarto Ejemplo: Realizar una búsqueda de contenido.

Para poder realizar una búsqueda, implementaremos el uso de la función search(),  que por parámetro obligatorio tiene únicamente q que es la cadena o cadenas a buscar. Veámoslo en acción.

#!/usr/bin/env python import tweepy #Coloca dentro de las comillas tus claves... CONSUMER_KEY = '????????????' CONSUMER_SECRET = '????????????' ACCESS_KEY = '????????????' ACCESS_SECRET = '????????????' #En esta parte nos identifica para poder realizar operaciones auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) x = tweepy.API(auth) for tweets in x.search(q='GeekyTheory',count=4, result_type='recent'): print(tweets.created_at) print(tweets.user.screen_name) print(tweets.text) print(' *'*40)

Usamos result_type='recent' para mostrar resultados recientes en la búsqueda. Guardamos y ejecutamos normalmente el código.

Bueno por este tutorial es todo, con un poco de creatividad y dedicación podrán hacer aplicaciones muy efectivas con esta herramienta, los invito a que investiguen sobre todo lo que se puede hacer con esta librería que esta muy completa. Pueden echar un vistazo a estas páginas:

Espero les sirva esta información. Les mando un saludo y suerte en todos sus proyectos.