Crear un Demonio en Twitter con Python
Demonio en Twitter con Python |
He ido un poco más allá con Twitter y Python y la idea de hoy es compartirles un demonio que realicé para subir artículos del blog a Twitter. Para los que no conocen el termino "Demonio" no se asusten jeje, el termino "Demonio" en programación significa algo que se está ejecutando en segundo plano y no tiene interacción con el usuario.
No explicaré de cero como conectarse con una aplicación Twitter, para eso les dejo la entrada anterior que lo explica: Enviar un Tweet con Python
También puedes seguirme en Twitter @PythonDiario para ver como siguen mis investigaciones.
¿Que es lo que hace el Demonio?
Lo que hace es publicar cada 10 minutos en Twitter el titulo y el enlace de una entrada del blog. Estos datos los saco de un archivo de texto (cada linea es un titulo + url). Y con un while True y un for hago que esto se repita de manera infinita. Cuando el archivo de texto se queda sin líneas (Tweet) se vuelve a repetir desde el principio.
Ventajas:
- Olvidarte de estar haciendo tweets a cada rato para hacerles acordar a tus seguidores que tienes entradas super interesantes 😉
- Pueden surgir nuevos seguidores con los reTweets
- Puedes trabajar en otra cosa mientras el demonio hace su trabajo
- Alguna más que no se me ocurre 😀
Desventajas:
- Una de las desventajas mas grandes es agobiar al seguidor. Quizá se pueda estirar la duración entre Tweets o usar alguna otra extrategia.
- Cada vez que apagas el PC se corta el envío.
- Se cae nuestra conexión a internet y fuimos jeje
- Alguna más que no se me ocurre 😀
El script lo hice recientemente y no tiene mucho Testing, al momento de escribir el artículo van subiendo 7 entradas del blog a Twitter cada 10 minutos. Pero no se si puede fallar en algún momento 😡
También decirles que monté el Demonio en un servidor linux en la nube y lo ejecuté desde ahí para olvidarme de tener que apagar el PC o que se me flipe la conexión a internet (se ejecuta las 24 horas).
El servidor lo monté en Digital Ocean, 5 dólares por mes (ubuntu, 512 de RAM y 20GB de disco), pueden crearse una cuenta y experimentar ustedes mismos, cualquier duda de funcionamiento me pueden dejar un comentario. Les dejo el enlace para que se creen uno: Digital Ocean
Va el código, en los comentarios del mismo verán lo que hace cada parte:
from twython import Twython import time import os # Claves de la aplicacion Twitter app_key = "" app_secret = "" oauth_token = "" oauth_token_secret = "" twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret) def leertxtenlista(): # Bucle infinito while True: try: mensaje = "" # Abrimos el archivo archi=open('/home/diego123/Escritorio/Feed','r') lineas=archi.readlines() # Bucle para recorrer todas las entradas for li in lineas: time.sleep(0.01) mensaje = li # Agrega el Tweet twitter.update_status(status=mensaje) # Lapso de tiempo entre Tweets time.sleep(600) archi.close() except: time.sleep(3) pass leertxtenlista()
Los datos de app_key, app_secret, oauth_token y oauth_token_secret van dentro de las comillas y lo sacan de la aplicación Twitter.
Este ejemplo muestra algo que me ha sido útil a mi para el blog, pero lo comparto para que puedan darse ideas y utilizarlo a su conveniencia.
Espero que esta entrada sea de ayuda. Más adelante seguiré publicando investigaciones sobre este tema. No dudes en dejar sugerencias, críticas o lo que sea, todo comentario enriquece.
Saludos, Diego...
-
-
Hola y gracias por visitar el blog!!! Puedes pasarte por esta entrada: Enviar correo con python, ahí puedes inventarte algún bucle infinito que te mande correos, es cuestión de ponerse a pensar ;). Saludos
-
-
Para quien quiere iniciarse en Python, puedes darme algún enlace?
-
Hola Erwin, gracias por visitar el blog. Puedes fijarte en este enlace: Tutorial Python desde cero . Tutoriales hay muchos por la web, también puedes descargarte algún libro PDF. Saludos
-
-
hola yo tengo una duda como puedo hacer si quiero crear ya sistemas de información con el lenguaje de python Diego Caraballo
-
Hola Princess, no entiendo tu pregunta. Saludos
-
-
Hola, a lo mejor es una pregunta muy tonta pero realmente no lo se; las app_key, app_secret, oauth_token, oauth_token_secret y todo esto de la aplicación twitter... de dónde las saco? Gracias
-
Hola José, gracias por pasarte por el blog ;). En el comienzo de la entrada hay un link que dice "Enviar un Tweet con Python", ahí explico bien de donde se sacan esos datos. Saludos
-
Deja una respuesta
Muy interesante. ¿Habrá alguno para Gmail? (por ejemplo enviar correos a futuro). Salu2