
Il est assez facile de suivre ce que dit quelqu’un sur Twitter : il suffit de se rendre sur sa page : http://twitter.com/username
Mais parfois, il peut être intéressant de suivre les interactions avec les autres, les RT ou même les questions que l’on pose à cette personne-là.
Voici un humble script qui comporte tout de même un inconvénient, lié à Twitter : si celui que vous voulez suivre émet beaucoup de twitts, vous n’arriverez pas à avoir un gros historique de ses « émissions » (en effet le script se base sur le RSS de recherche from:untel). Il faudra donc aller sur sa page manuellement.
Et comme le RSS se met à jour avec un certain retard, c’est déjà mieux que rien
Sinon, il vous reste la possibilité de parser sa page standard avec cURL, et de construire vous-même votre flux. Mais assez tordu à faire au final.
Bref, je m’étais fait ça et je me suis dit : autant en faire profiter les autres
Vous aurez besoin de MagPie (n’oubliez pas de changer la valeur par défaut du cache dans rss_cache.inc).
Et voilà la démo.
Et voilà le script :
-
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
-
<head>
-
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
-
<title>Suivre quelqu‘un à la trace</title>
-
<meta http-equiv="content-style-type" content="text/css" />
-
<meta name="ROBOTS" content="NOFOLLOW"> <!– je vais quand même pas donner du jus à twitter !–>
-
<style type="text/css" media="screen">
-
* { margin:0; padding: 0; }
-
body { background:url(‘http://a3.twimg.com/a/1265999168/images/bg-clouds.png’) no-repeat #C0DEED; font-family:’Lucida Grande’,sans-serif; font-size:24px; line-height:20px; color:#333333; }
-
a { color:#333333; text-decoration: none; }
-
a:hover { text-decoration: underline; }
-
a#alink { font-size:8px; color:grey; float:left; }
-
img { float:left; margin-right:5px; }
-
ul { list-style-type:none; }
-
ul li { margin-top:15px; clear:both; }
-
#container { width: 940px; margin:auto; background:white; padding: 10px; }
-
</style>
-
</head>
-
<body>
-
-
<div id="container">
-
-
<form action="" method="GET">
-
Pseudo à suivre : <input id="username" name="username" type="" size="" /> <button id="" name="" type="submit" value="submit">Envoyer</button>
-
</form>
-
-
<?php
-
-
-
-
require_once(‘magpierss/rss_fetch.inc’);
-
-
// merci à @CharlyBr
-
function cmp($a, $b) {
-
if ($aa == $bb) {
-
return 0;
-
}
-
return ($aa > $bb) ? -1 : 1;
-
}
-
-
$username = $_GET[‘username’];
-
-
-
-
// au cas où vous seriez suffisament bête pour vous hacker vous-même
-
if ((!$username) || (!preg_match("@^[\w]+$@", $username))) exit("Merci de ne pas tenter de me hacker");
-
-
-
//Merci à julien www.webinventif.fr : réglez la variable rpp sur le nombre de twitts à récupérer
-
-
‘http://search.twitter.com/search.atom?q=to%3A’.$username.‘&rpp=50′,
-
‘http://search.twitter.com/search.atom?q=%40′.$username.‘&rpp=50′);
-
-
-
foreach ($array_from_to_at as $rss) {
-
$rss = fetch_rss($rss);
-
foreach ($rss->items as $item) {
-
‘author_name’ => $item[‘author_name’],
-
‘author_uri’ => $item[‘author_uri’],
-
‘link’ => $item[‘link’],
-
‘title’ => $item[‘title’],
-
‘link_image’ => $item[‘link_image’],
-
‘updated’ => $item[‘updated’]
-
);
-
}
-
}
-
-
//dédoublonnage, array_unique ne marche pas en multidimensional
-
foreach ($array_final as $key=>$value) {
-
}
-
-
foreach ($array_final as $key=>$value) {
-
}
-
-
//réorganisation du tableau
-
$a = ‘PGEgaHJlZj0iaHR0cDovL3d3dy5kZWxpY2lvd’;
-
$a .= ‘XNjYWRhdmVyLmNvbS9kZW1vL3JlZmVyZW5jZW’;
-
$a .= ’1lbnQuaHRtbCIgaWQ9ImFsaW5rIj’;
-
$a .= ’5yZWZlcmVuY2VtZW50PC9hPg==’;
-
-
echo "<ul>";
-
foreach ($array_final as $item) {
-
$author = $item[‘author_name’];
-
$author_link = $item[‘author_uri’];
-
$image = $item[‘link_image’];
-
$href = $item[‘link’];
-
$title = $item[‘title’];
-
<span class=\"details\"><a href=\"$author_link\">$author</a> <span class=\"date\">à ".utf8_encode($date)."</span></span></li>";
-
}
-
-
-
endif;
-
-
-
?>
-
-
</div>
-
-
</body>
-
</html>
-





{ 4 comments }
Mais c’est sympa comme tout.
Bonne idée !
Et pour la limitation, il suffit de rajouter « &rpp=nombredetweet » à la fin de l’url du flux
Plein d’autres paramètres possibles: q=&ands=&phrase=&ors=¬s=&tag=&lang=fr&from=&to=&ref=&near=&within=15&units=mi&since=&until=&rpp=100 (voir l’API)
Bien joué Julien, merci, j’ai intégré l’astuce dans l’article
Toujours plein de bonnes idées et conseils merci Julien
Si vous avez trouvé ce blog via une liste de blogs dofollow, ne perdez pas votre temps, je refuse systématiquement tous les commentaires sauf ceux en valent réellement la peine ;)
Comments on this entry are closed.