Buscador Twitter con PHP

Un buscador de Twitter realizado en PHP, esta sencilla función nos puede simular una real búsqueda en Twitter, podemos pasar como parámetro el criterio de búsqueda que deseamos y el numero de tweets que queremos obtener, también el numero de pagina, es simple y potente, pongo algunos ejemplos con los cuales podemos aprovecharlo mejor, puede servir para mucho más dependiendo de las necesidades de cada uno.

La siguiente función nos devuelve los datos en formato json.

function searchTwitter($query,$rpp=10,$page=1){

    $url="http://search.twitter.com/search.json?q=";
    $q=urlencode(utf8_encode($query));
    $params="&page=$page&rpp=$rpp";
	
    $result = file_get_contents($url.$q.$params);    
    
    $array =  json_decode($result);
    
    return $array;
    
}

Estas son algunas búsquedas comunes

// de un usuario especifico
print_r(searchTwitter('from:craftyman'));

//de un hashtag especifico
$rs = searchTwitter('#SEO');

//cualquiera de las dos palabras
$rs = searchTwitter('#php OR #mysql');

//buscar una palabra que no contenga otra
$rs = searchTwitter('javascript -jquery');

//referenciando a un usuario
$rs = searchTwitter('@craftyman');

Ahora recorreremos el array de objetos que nos devuelve la función.

foreach($rs as $k=>$o){

echo $o->profile_image_url .'<br />';
echo $o->created_at .'<br />';
echo $o->from_user .'<br />';
echo $o->text .'<br />';
echo $o->id .'<br />';
echo $o->source .'<br />';
echo $o->geo .'<br />';
echo $o->iso_language_code .'<br />';
echo $o->from_user_id .'<br />';

}

Si quieres saber más sobre los operadores de búsqueda de Twitter puedes revisar la documentación oficial : Twitter Search Operators.

Tambíen te puede interesar Como loguearse con Twitter y PHP.

También te puede interesar

8 Comments

  1. software a medida
    oct 16, 2010 @ 07:29:54

    Gracias por el post.

    En algunos casos me ha hecho falta esta función y no había encontrado cómo hacerlo.

    Gracias.

    Un saludo.

    Joselu

    Reply

  2. denia99
    oct 19, 2010 @ 12:31:13

    Muchas gracias cesar por tus publicaciones, me estan sirviendo de gran ayuda. En concreto esto es una de las partes que estaba diseñando

    Reply

  3. Denia99
    oct 19, 2010 @ 13:03:05

    Hola de nuevo Cesar, estoy probando el buscador que has programado pero al llamar a la funcion e imprimir el array me salen los siguientes notice en el navegador, a que puede ser?

    Notice: Trying to get property of non-object in C:wampwwwcallback.php

    Muchas gracias por todo

    Reply

  4. Denia99
    oct 25, 2010 @ 02:50:28

    Buenas Cesar, si quisiera procesar los datos en formato atom, como podria luego imprimirlos?

    muchas gracias

    Reply

    • craftyman
      nov 08, 2010 @ 14:00:16

      Hola Denia99,
      para obtener los datos en formato ATOM solo se tiene que cambiar la extension en la url de .json a .atom

      Aqui puedes obtener mas info:
      http://dev.twitter.com/doc/get/search

      Para procesar estos datos puedes utilizar Simple Pie, es una clase para convertir RSS y Atom en un array de objetos.

      http://simplepie.org/

      Saludos.

      Reply

  5. Carole Hickman
    dic 25, 2010 @ 16:17:57

    Buenas Cesar, si quisiera procesar los datos en formato atom, como podria luego imprimirlos? muchas gracias

    Reply

  6. iLe
    may 22, 2011 @ 10:25:08

    Hola, gracias por el Tuto esta bueno es lo que queria encontrar, pero tengo 1 duda, como hago para saber la imange del otro usuario porque solo sale la imagen de tu perfil.

    Reply

  7. iLen
    may 22, 2011 @ 11:30:19

    Hola amigo, estaba probando y me manda un warning le adjunto la imagen, http://i.imgur.com/qUNpY.jpg espero responda pronto salu2

    Reply

Leave a Reply