## TWITTER STREAM DAEMON ##
our $VERSION = '1.2';
our $T_USER = 'middlesizetit';
our $T_PASS = '**********';
use warnings;
use strict;
use LWP::UserAgent;
use DBI;
my $mysql = DBI->connect("DBI:mysql:tc:localhost","twitter");
while (1) {
my $req = HTTP::Request->new ('GET',"http://$T_USER:$T_PASS\@stream.twitter.com/1/statuses/sample.json");
LWP::UserAgent->new->request ($req,sub {my($chunk,$res )=@_;\&gettw($chunk,$res);});
sub gettw {
my $clurl = '';
my $clname = '';
if ($tweet=~/"source":"(.*?)(",)/gi) {
my $ahref = $1;
if ($ahref=~/<a href=\\"(.*?)\\" rel=\\"nofollow\\">(.*?)<\/a>/gi) {
$clurl = $1;
$clname = $2;
} else { $clurl = 'http://twitter.com'; $clname = 'web'; }
my $query = $mysql->prepare("INSERT INTO source (name,url,count) VALUES (?,?,1) ON DUPLICATE KEY UPDATE count = count + 1");
$query->bind_param(1,$clname);
$query->bind_param(2,$clurl);
$query->execute;
}
}
}