Este documento presenta dos bots para Twitter: un bot que envía tweets automáticos aleatoriamente de una base de datos predefinida, y un bot que automáticamente sigue nuevos usuarios basado en filtros de calidad configurable como el número de seguidores, tweets y listas. También explica conceptos clave de la API de Twitter como streaming, niveles de acceso, métodos y arquitectura de una aplicación que usa la API.
3. Lo que veremos hoy Bot de envío de tweets automáticos Introducción a la API de Streaming Bot de follows automáticos con filtros de calidad configurable 3 Campus Party Valencia 2010 - e24apps.com
4. Bot AutoTweet PHP / Zend Framework (http://framework.zend.com) Autenticación Oauth Método: statuses/update (enviar tweet) Base de tweets predefinidos Envía un tweet aleatorio en cada ejecución Campus Party Valencia 2010 - e24apps.com 4
5. Streaming API Conexión directa y permanente via sockets a los servidores de Twitter. Se puede crear solo una conexión por IP y usuario. Excesivos intentos de conexión resultaría en un baneo automático de la IP y posible inclusión en un blacklist. Servidor HTTP que envíe el cuerpo incrementalmente (algunos solo lo hacen al finalizar la conexión) Campus Party Valencia 2010 - e24apps.com 5
6. Causas para cerrar una conexión Reiterados intentos de login Reinicios de los servidores de Twitter. Cliente demasiado lento o ancho de banda insuficiente Mantenimientos en los servidores de Twitter o cualquier otro fallo. Campus Party Valencia 2010 - e24apps.com 6
7. Recuperación ante errores Ante desconexión reconecta inmediatamente. Ante errores TCP/IP reconectar con intentos de 250ms incrementando hasta 16s. Ante errores HTTP (>200) reconectar con intentos de 10s incrementando hasta 240s. Campus Party Valencia 2010 - e24apps.com 7
8. Interpretando la respuesta Un tweet por línea Formato JSON(recomendado) o XML (ver mapa de un tweet: http://e24.li/mw) También se envían notificaciones de eliminación de tweets. Campus Party Valencia 2010 - e24apps.com 8
9. Niveles de acceso (Streaming Subsets) Campus Party Valencia 2010 - e24apps.com 9
11. Arquitectura Campus Party Valencia 2010 - e24apps.com 11 Recolector Cola BB.DD. Procesador de tweets Interfaz
12. Bot Auto Follow PHP / Zend Framework (http://framework.zend.com) Phirehose (http://code.google.com/p/phirehose) Autenticación Oauth Método: friendship/create (follow) Método: statuses/filter (streaming) Configuración de filtros de usuarios Campus Party Valencia 2010 - e24apps.com 12
13. Configuración de los filtros Número followers Número following Número tweets Número de listas Ratio Followers / Following Si tiene avatar/bio/location/url Idioma Campus Party Valencia 2010 - e24apps.com 13
14. Recursos útiles Web de desarrolladores: http://dev.twitter.com Status de la API: http://dev.twitter.com/status Grupo de desarrolladores: http://groups.google.com/group/twitter-development-talk?pli=1 Anuncios de la API: http://groups.google.com/group/twitter-api-announce Bibliotecas para Oauth: http://dev.twitter.com/pages/oauth_libraries Cliente CURL con soporte para Oauth: http://github.com/marcel/twurl Bibliotecas: http://dev.twitter.com/pages/libraries Tutoriales: http://www.newwebplatform.com/tips-and-tutorials/Twitter Blog de los ingenieros de Twitter: http://engineering.twitter.com/ Campus Party Valencia 2010 - e24apps.com 14
Notas del editor
Cuando usamos el streaming en función de nuestros privilegios nos situa en un subconjunto. Existen 3, el primero de ellos es el Firehose o mangera de los bomberos que usan Google, Yahoo y Bing para realizar búsquedas sobre los mismos y representan el 99% del flujo de twitter podemos hacer un muestreo de todo el flujo de tweets de Twitter, este subconjunto
Cuando usamos el streaming en función de nuestros privilegios nos situa en un subconjunto. Existen 3, el primero de ellos es el Firehose o mangera de los bomberos que usan Google, Yahoo y Bing para realizar búsquedas sobre los mismos y representan el 99% del flujo de twitter podemos hacer un muestreo de todo el flujo de tweets de Twitter, este subconjunto