Catturare il Rank a BlogBabel

Giovedì 10 Maggio, 2007
Aggiornamento: Blogbabel ha chiuso - tutti i servizi, widget e plugin non sono più attivi

Poco tempo fa era capitato su un Blog che mostrava un antipixel di BlogBabel con tanto di indice/rank (che spesso può essere di quattro cifre). Ho lasciato un messaggio al proprietario del blog ma non ho ricevuto nessuna risposta! Quindi ho contattato direttamente i responsabili di BlogBabel per chiedergli se avevano antipixel dinamici! Gentilmente mi hanno risposto (grazie Neko)  inviandomi degli antipixel statici, tipo questo , ancora in preparazione.

Nell'attesa ecco un piccolo codice PHP utile per grabbare il proprio rank su BlogBabel:

PHP:
  1. /*
  2. ** bypassa il blocco fopen() di php
  3. */
  4. function getContent ( $blog="" ) {
  5.     $ch = curl_init();
  6.     $timeout = 5;  
  7.     curl_setopt ($ch, CURLOPT_URL, AIM_URL.$blog."/" );
  8.     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  9.     curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  10.     $file_contents = curl_exec($ch);
  11.     curl_close($ch);
  12.     // display file
  13.     return ( $file_contents );
  14. }
  15.  
  16. /*
  17. ** Nome del blog in GET dall'url
  18. */
  19. if( isset($_GET["blog"] )) {
  20.  
  21.     $contents=getContent( $_GET["blog"] );
  22.    
  23.     $s = '<span id="current_rank">';
  24.     $e = '</span>';
  25.     $pos = strpos($contents, $s);
  26.     $f = $pos+strlen($s);
  27.     $rank = substr($contents, $f, (strpos($contents,$e,$f)-$f));
  28.    
  29.     echo 'Rank:'.$rank;
  30. }

La funzione getContent() fa uso della curl, un'alternativa alla fopen() per i provider che bloccano questa funzione.

Questa ovviamente è una "zozzata", come si dice in gergo! Tuttavia funziona. Inoltre si può usare anche la libreria ImageMagick per generare un antipixel grafico, aggiungere la funzione:

PHP:
  1. /*
  2. ** crea un'immagine
  3. */
  4. function makeAntipixel($rank,$blog) {
  5.     $location='/usr/bin/convert';
  6.     $command="convert -border 1 -font Arial -pointsize 10 -gravity West -size 80x15 xc:white -annotate 0x0+0+0 '".$rank."' ".$blog.".gif";
  7.     $convert= $location . ' ' .$command;
  8.     exec ($convert);
  9. }

E quindi modificare:

PHP:
  1. if( isset($_GET["blog"] )) {
  2.  
  3.     $contents=getContent( $_GET["blog"] );
  4.    
  5.     $s = '<span id="current_rank">';
  6.     $e = '</span>';
  7.     $pos = strpos($contents, $s);
  8.     $f = $pos+strlen($s);
  9.     $rank = substr($contents, $f, (strpos($contents,$e,$f)-$f));
  10.    
  11.     makeAntipixel($rank, $_GET["blog"]);
  12.     echo '<img src="'.$_GET["blog"].'.gif" />';
  13. }

Per visualizzare il proprio rank potete usare il test su:

http://www.undolog.com/services/blogbabelrank.php?blog=[nome del vostro blog]

Ad esempio per visualizzare il rank di undolog basta:

http://www.undolog.com/services/blogbabelrank.php?blog=undolog

Post correlati

Lascia un commento

TAG XHTML permessi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Usa <pre> per racchiudere codice