Compilation de php : configure: error: xml2-config not found. Quand Google blacklist, google analytics plus.
jan 18

En ce moment je travaille sur http://www.odowa.com/ qui est un agrégateur des flux rss que je trouve intéressants. Odowa.com contient également un moteur de recherche de flux RSS.

Les données contenus dans le moteur sont des billets provenants d’environ 7000 flux rss. Pour chaque flux.

Le crawler :

  • récupère l’url du billet après les éventuelles redirections (la vrai url, pas celles des feedburners)
  • détecte le contenu du post grâce au détourage automatique (pas de pub, de menu, de commentaires…),
  • detecte la langue utilisé dans le billet (fr/en/es/de pour l’instant)
  • va chercher le favicon

Bref, tout cela totalise environ 700 000 posts au jour d’aujourd’hui.

J’avais donc dans l’idée d’afficher en temps réel (ou presque) le nombre de posts dans la base sur le site, exactement comme fait le site yakaz.com que voici :

2 140 367 petites annonces… pas mal .Curieux de savoir quelle solution technique ils utilisent je regarde un peu le code source et la … c’est le drame… voyez vous même la fonction LiveCount() que l’on trouve dans le fichier http://www.yakaz.fr/js/home.js?v=20071206 :

    var refreshFrequency = 1000;
number_to_display = Math.round(number_current);
document.getElementById('live-count').innerHTML = i18_num(number_to_display);
document.getElementById('live-count').style.background = 'none';
number_current += frequency * 2 * Math.random();
number_current += frequency * 2 * Math.random();

Et oui c’est bien un random…

Je conviens que de faire un ajax updater mettant ce champ à jour toutes les secondes est très lourd et pour le client et pour le serveur.
Dans un élan de sympatie, je me dit que leur chiffre est basé sur le vrai nombre d’annonce et qu’ils ont établi une moyenne et une formule un peu chiadé pour que ca tombe presque juste.

En fait non, rien de cela. Très déçu j’ai alors voulu connaître le nombre d’annonce de moins de 7 jours présentes sur le site . Pour cela, on peut faire une recherche par département :

Sans rien mettre dans la case “Quoi” yakaz nous affiche toutes les annonces du departement 01 et le nombre de réponse dans le tag <div class=”count>. Pour en savoir plus j’ai lancé le petit script que voici :

$url    = 'http://www.yakaz.fr/results.php?univers=all&v=txt&from=true&what=&where=$izm=0';
$total  = 0;
for($i=1 ; $i<=95 ; $i++){
preg_match(
'/p class=".count.">\s *(.*)<\/b>/isU’
,file_get_contents(str_replace(’$i’,str_pad($i, 2, “0″, STR_PAD_LEFT),$url))
,$match
);
$total +=  (int)str_replace(’ ‘,”,$match[1]);
sleep(5);
}
echo “\n\nTOTAL:”.$total;

Et le total est de …. 1 348 292 annonces.

Donc 2 140 367 sur la home et 1 348 292 dans le moteur: qui croire ?

Est ce que la différence est due au annonces non françaises ? on pourrait vérifier … :)

written by admin \\ tags: , ,

Un commentaire to “Yakaz, petit problème de compteur ?”

  1. NiKo Says:

    Le coup du random(), ça me rappelle étrangement un projet… avec des jeux… :siffle:

Ecrire un commentaire