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