Catturare il Rank a BlogBabel

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
** bypassa il blocco fopen() di php
*/

function getContent ( $blog="" ) {
  $ch = curl_init();
  $timeout = 5;  
  curl_setopt ($ch, CURLOPT_URL, AIM_URL.$blog."/" );
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  $file_contents = curl_exec($ch);
  curl_close($ch);
  // display file
  return ( $file_contents );
}

/*
** Nome del blog in GET dall'url
*/

if( isset($_GET["blog"] )) {

  $contents=getContent( $_GET["blog"] );
 
  $s = '<span id="current_rank">';
  $e = '</span>';
  $pos = strpos($contents, $s);
  $f = $pos+strlen($s);
  $rank = substr($contents, $f, (strpos($contents,$e,$f)-$f));
 
  echo 'Rank:'.$rank;
}

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:

1
2
3
4
5
6
7
8
9
/*
** crea un'immagine
*/

function makeAntipixel($rank,$blog) {
  $location='/usr/bin/convert';
  $command="convert -border 1 -font Arial -pointsize 10 -gravity West -size 80x15 xc:white -annotate 0x0+0+0 '".$rank."' ".$blog.".gif";
  $convert= $location . ' ' .$command;
  exec ($convert);
}

E quindi modificare:

1
2
3
4
5
6
7
8
9
10
11
12
13
if( isset($_GET["blog"] )) {

  $contents=getContent( $_GET["blog"] );
 
  $s = '<span id="current_rank">';
  $e = '</span>';
  $pos = strpos($contents, $s);
  $f = $pos+strlen($s);
  $rank = substr($contents, $f, (strpos($contents,$e,$f)-$f));
 
  makeAntipixel($rank, $_GET["blog"]);
  echo '';
}

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

Non ci sono commenti per questo Post

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> INSERIMENTO CODICE:
<pre></pre> // blocco generico
					<code></code> // blocco generico
					[cc_actionscript][/cc_actionscript] // Actionscript
					[cc_actionscript3][/cc_actionscript3] // Actionscript 3
					[cc_css][/cc_css] // CSS Style Sheet
					[cc_html][/cc_html] // HTML
					[cc_js][/cc_js] // Javascript
					[cc_objc][/cc_objc] // Objective-C
					[cc_php][/cc_objc] // PHP
					[cc_sql][/cc_sql] // SQL


Stop SOPA