Realizar una búsqueda usando la API de twitter es tan sencillo como construir la siguiente URL:
http://search.twitter.com/search.json?q=%23Toluca
Esta consulta regresa tweets recientes que contienen el hash tag #Toluca. De hecho si pegan esta URL en su navegado pueden observar el formato de la respuesta. La respuesta viene en formato JSON. Los signos de llaves indican un objeto y los corchetes indican un arreglo.
{ "completed_in":0.089, "max_id":259679677768151040, "max_id_str":"259679677768151040", "next_page":"?page=2&max_id=259679677768151040&q=%23Toluca", "page":1, "query":"%23Toluca", "refresh_url":"?since_id=259679677768151040&q=%23Toluca", "results": [ { "created_at":"Sat, 20 Oct 2012 15:18:54 +0000", "from_user":"tlcweather", "from_user_id":461072765, "from_user_id_str":"461072765", "from_user_name":"Toluca Weather", "geo":null, "id":259675063110995968, "id_str":"259675063110995968", "iso_language_code":"es", "metadata":{"result_type":"recent"}, "profile_image_url":"http:\/\/a0.twimg.com\/profile_...", "profile_image_url_https":"https:\/\/si0.twimg.com\/...", "source":"<a href="http:\/\/www.google.com\/">Google<\/a>", "text":"Toluca, MEXICO Weather :: 13C Mist ... #Toluca #Mexico", "to_user":null, "to_user_id":0, "to_user_id_str":"0", "to_user_name":null }, {...} ], "results_per_page":15, "since_id":0, "since_id_str":"0" }
Analicemos algunas variables de la respuesta JSON que utilizaremos. Como podemos ver en la variable results_per_page, cada consulta regresa sólo 15 tweets. Para obtener los siguientes 15 tweets utilizaremos la variable next_page.
La variable results es un arreglo de objetos. Cada objeto de results contiene el usuario que creó el tweet, si está dirigido a alguien, cuándo fue creado y por supuesto el texto del tweet.
El programa en python recibe el hash tag que deseamos buscar:
python twitter_search.py "#Toluca"
El programa construye y realiza la petición de búsqueda. Después de parsear el resultado, obtenemos un mapa de llaves y valores. Por ejemplo, para acceder a la variable next_page usamos algo como search_result["next_page"]. El programa despliega todos los elementos del resultado de búsqueda, todos los elementos de un tweet y finalmente sólo los textos de los 15 tweets.
En el siguiente post extenderemos este ejemplo para obtener más de 15 tweets.
No hay comentarios:
Publicar un comentario