Acum cateva luni le-am trimis celor de la trafic.ro un mail prin care le-am cerut sa scoata faza cu ultimele 20 de afisari. Din cate am vazut si pe la TV, multi considera trafic.ro un etalon insa pe mine ma dispera la culme fiindca astia ofera posibilitatea de data mining (termenul lui gheorghe). Nu poti afla multe insa cu un cron si un bot bine facut poti obtine informatii legate de zona in care sunt vizitatorii, daca sunt noi sau revin, daca intra si pe alte situri astfel existand posibilitatea de a face face un mic studiu de piata.
In cele ce urmeaza mi-am permis sa postez un mic bot generic (
Proof of Concept) pentru a vedea care este feedback-ul comunitatii LinuxSoft:
<?php
$buffer = @file_get_contents( 'http://stat.trafic.ro/stat/linuxsoft/vizitatori/ultimii20/#stat' );
if ( empty( $buffer ) ) { exit; }
$nPosLeft = stripos( $buffer, '<table id="stattable"' );
if ( FALSE === $nPosLeft ) { exit; }
$nPosRight = stripos( $buffer, '</table>', $nPosLeft );
if ( FALSE === $nPosRight ) { exit; }
$arr = explode( "\n", trim( substr( $buffer, $nPosLeft, $nPosRight-$nPosLeft ) ) );
array_splice( $arr, 0, 7 );
$db = array();
$db['data'] = array();
$db['ip'] = array();
$db['browser'] = array();
$db['os'] = array();
$i = 0;
foreach ( $arr as $buffer ) {
if ( preg_match( '/<td>([^<]+)<\/td>/i', $buffer, $user ) ) {
if ( ++$i > 4 ) { $i = 1; }
switch ( $i ) {
case 1: array_push( $db['data'] , $user[1] ); break;
case 2: array_push( $db['ip'] , $user[1] ); break;
case 3: array_push( $db['browser'] , $user[1] ); break;
case 4: array_push( $db['os'] , $user[1] ); break;
}
}
}
header( 'Content-type: text/plain' );
print_r( $db );
?>
Credeti ca faza aia dauneaza?
