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.
[php]
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;
}
[/php]
Estas son algunas búsquedas comunes
[php]
// 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’);
[/php]
Ahora recorreremos el array de objetos que nos devuelve la función.
[php]
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 />’;
}
[/php]
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.
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
Muchas gracias cesar por tus publicaciones, me estan sirviendo de gran ayuda. En concreto esto es una de las partes que estaba diseñando
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
Buenas Cesar, si quisiera procesar los datos en formato atom, como podria luego imprimirlos?
muchas gracias
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.
Buenas Cesar, si quisiera procesar los datos en formato atom, como podria luego imprimirlos? muchas gracias
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.
Hola amigo, estaba probando y me manda un warning le adjunto la imagen, http://i.imgur.com/qUNpY.jpg espero responda pronto salu2