Conectarse a Twitter desde Python!

Publicado por Cristian Olaz
hace 10 años

<p>En este artículo mostraré un simple código para poder conectarse a Twitter desde Python.</p>

<p>Nos proponemos dos simples objetivos: Mostrar los últimos tweets y publicar uno nuevo en nuestro perfil.</p>

<p>Para lograr esto necesitaremos los siguientes ingredientes:</p>

<ol><li>Python</li> <li>Librería Twython ( https://github.com/ryanmcgrath/twython )</li> <li>Una cuenta en Twitter</li> </ol><hr /><h4>Primer paso: Instalar Twython</h4>

<p>El primer paso es tener esta librería instalada. Hay varias vormas de hacerlo tal como se explica aquí: https://github.com/ryanmcgrath/twython</p>

<p>Utilizando pip</p>

<pre class="prettyprint"> $ pip install twython</pre>

<p>Utilizando easy_install</p>

<pre class="prettyprint"> $ easy_install twython</pre>

<p>O descargando e instalando manualmente</p>

<pre class="prettyprint"> git clone git://github.com/ryanmcgrath/twython.git cd twython python setup.py install</pre>

<p>De cualquier forma la instalación es muy rápida y sencilla!</p>

<hr /><h4>Segundo paso: Configurar nuestra cuenta de Twitter</h4>

<p>El siguiente paso es configurar nuestra aplicación desde Twitter. Para esto nos dirigimos al siguiente enlace: https://dev.twitter.com/apps</p>

<p>Una vez allí creamos una nueva aplicación llenando los datos que nos pidan: Nombre, descripción y sitio web de la aplicación.</p>

<p>Twitter nos mostrará datos importantes de nuestra nueva aplicación tales como "consumer key" y "consumer secret key". Pero antes de seguir debemos asegurarnos que nuestra aplicación puede "Leer, escribir y acceder directamente a los mensajes", esto podrán encontrarlo en la sección "Settings"</p>

<p style="text-align:center;"><img alt="" src="http://s16.postimg.org/75xtvnn8l/configuracion_cuenta_twitter.jpg" /></p>

<p>Ahora, yendo a la solapa "Details", verán al final de la página, un botón para crear nuestro "access token".</p>

<p style="text-align:center;"><img alt="" src="http://s11.postimg.org/w6r7cwh6b/access_token.jpg" /></p>

<p>Ahora tenemos todo lo necesario para empezar a desarrollar nuestra aplicación! Deben guardar los siguientes datos:</p>

<ul><li>Consumer key</li> <li>Consumer secret</li> <li>Access token</li> <li>Access token secret</li> </ul><hr /><h4>Tercer y último paso: El código</h4>

<p>Como verán ahora, el código es muy corto y sencillo de entender. Desarrollamos 4 funciones:</p>

<ul><li>Mostrar ayuda: Aquí simplemente mostramos por pantalla los comandos permitidos</li> <li>Publicar: Hacemos uso de la f unción update_status de Twython para publicar un nuevo tweet en nuestro perfil</li> <li>Novedades: Usamos las funciones get_home_timeline y get_user_timeline de Twython para ver nuestros tweets o los de otro usuario, respectivamente.</li> <li>Procesar comando: Aquí analizamos el comando que haya ingresado el usuario para llamar a las funciones antes detalladas.</li> </ul><p>El programa funciona bajo un ciclo principal While que se repite de manera indefinida hasta que el usuario ingrese el comando "salir". <span style="color:#FFFFFF;">www.comunidadq.com</span></p>

<p>Estos son algunos ejemplos sobre como utilizar esta aplicación:</p>

<pre class="prettyprint">

Publicar un mensaje en nuestro perfil de Twitter

>>> publicar Siguiendo un tutorial de www.comunidadq.com : )

Ver los últimos 5 tweets en nuestro perfil:

>>> novedades

Ver los últimos 5 tweets de un usuario en particular:

>>> novedades ozcristian

Salir de la aplicación

>>> salir</pre>

<p> </p>

<p>Y aquí está el código completo:</p>

<pre class="prettyprint"> from twython import Twython

APP_KEY = 'Consumer key' APP_SECRET = 'Consumer secret' OAUTH_TOKEN = 'Access token' OAUTH_TOKEN_SECRET = 'Access token secret'

twitter = Twython( APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET )

funcion mostrar_ayuda

accion: muestra los comandos permitidos

def mostrar_ayuda(): print ' * Comandos permitidos: \n' print ' novedades [usuario] \t Muestra los ultimos tweets' print ' publicar tweet \t Publica un nuevo tweet' print ' salir \t\t Finaliza la aplicacion'

funcion publicar

accion: publica un estado en twitter

def publicar( estado ): if estado == '': return twitter.update_status( status = estado ) print estado print ' * Estado actualizado.'

funcion novedades

accion: muestra las ultimas novedades de un usuario en twitter

def novedades( usuario ): if usuario == '': novedades = twitter.get_home_timeline( count = 5 ) else: novedades = twitter.get_user_timeline( count = 5, screen_name = usuario ) for tweet in novedades: print tweet[ 'user' ][ 'name' ], ' dice: ' print tweet[ 'text' ] print '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '

funcion procesar_comando

accion: analiza el comando elegido por el usuario

def procesar_comando( ingreso_de_usuario ): comando_y_parametro = ingreso_de_usuario.split( ' ', 1 ) comando = comando_y_parametro[ 0 ] parametro = '' if len( comando_y_parametro ) == 2: parametro = comando_y_parametro[ 1 ] if comando == 'publicar': publicar( parametro ) if comando == 'novedades': novedades( parametro ) else: mostrar_ayuda()

ciclo principal

while True: ingreso_de_usuario = raw_input( '>>> ' ) if ingreso_de_usuario == 'salir': break # se sale de la aplicacion procesar_comando( ingreso_de_usuario )</pre>

<p>Saludos!</p>

twitter python
Respuesta de Nick
hace 9 años

Genial a probar!!! :D