niedziela, 7 października 2012

Sprawdzanie aktywności na GoldenLine.pl

Ostatnio znajomy przestał odpisywać na moje wiadomości. Chciałem sprawdzić czy po prostu nie chce na nie odpisać czy nie korzysta z GoldenLine.pl i nie wie o wiadomościach, które do niego wysłałem.
Napisałem prosty skrypt w PHP, który pozwala sprawdzić aktywność danej osoby po publikowanym statusie offline/online.

Poniżej źródło skryptu PHP:




<?php
/* Michał Błaszczak - blaszczakm.blogspot.com */

$intro = file_get_contents("http://www.goldenline.pl/michal-blaszczak");

$regex_online = '#\<span class="onlineTxt"\>(.+?)\<\/span\>#s';
preg_match($regex_online, $intro, $matches_online);

$regex_offline = '#\<span class="offlineTxt"\>(.+?)\<\/span\>#s';
preg_match($regex_offline, $intro, $matches_offline);

$f=count($matches_offline);
$o=count($matches_online);

$dzisiaj = date("m.d.y H:i:s");

if($o==2)
{
        $txt= 'Online - '.$dzisiaj."\n";

}
elseif($f==2)
{
        $txt = 'Offline - '.$dzisiaj."\n";
}
else
        echo '??';

@$current = file_get_contents('wynik.gl');
$current .= $txt;
file_put_contents('wynik.gl', $current);
?>


Aby skrypt wykonywał się automatycznie do cron'a dopisujemy:

root@box:~/goldenline$ crontab -l
*/2 * * * * /usr/bin/php /root/goldenline/check.php


Informacja o statusie będzie zapisywana w pliku wynik.gl

root@box:~/goldenline$ cat wynik.gl
Offline - 10.07.12 11:43:10
Offline - 10.07.12 11:43:13