#!/usr/bin/perl #du bist ein liten tjockis! (c) (r) (tm) grazzy@mjoelkbar.net use LWP::Simple; use LWP::UserAgent; use Data::Dumper; use HTML::TokeParser; use DBI ':sql_types'; sub subnet_connect { my $dbh = DBI->connect("DBI:mysql:database=adsense;host=localhost", "adsense", "adsense",{'RaiseError' => 1}); $dbh->{mysql_auto_reconnect}=1; return \$dbh; } sub fix { $str = @_[0]; $str =~ s/[\$\,\.]*//g; return $str; } my $blah = subnet_connect(); my $dbh = $$blah; my %form = ( 'username' => 'superhemlig@email.com', 'password' => 'superhemligt', 'destination' => '/adsense/reports-aggregate' ); my $ua = LWP::UserAgent->new; $ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)'); $ua->cookie_jar({ file => "$ENV{HOME}/.cookies.txt" }); $response = $ua->post('https://www.google.com/adsense/login.do',\%form); my $today, $month; sub getdata { my ($url) = @_; $response = $ua->get($url); $content = $response->content; my $p = HTML::TokeParser->new(\$content); while(my $token = $p->get_tag('tr')) { if ($token->[1]{'class'} eq 'totals') { $token = $p->get_tag('td'); $token = $p->get_tag('td'); $token = $p->get_tag('td'); $token = $p->get_tag('td'); $token = $p->get_tag('td'); $token = $p->get_tag('td'); return $p->get_trimmed_text('/td'); } } } $today = getdata('https://www.google.com/adsense/reports-aggregate'); $month = getdata('https://www.google.com/adsense/reports-aggregate?product=afc&dateRange.dateRangeType=simple&dateRange.simpleDate=thismonth&dateRange.customDate.start.month=1&dateRange.customDate.start.day=9&dateRange.customDate.start.year=2005&dateRange.customDate.end.month=1&dateRange.customDate.end.day=9&dateRange.customDate.end.year=2005&groupByPref=date&reportType=property&null=Display+Report'); #$sth = $dbh->prepare('INSERT INTO data (watch_id, value, checked) VALUES(?, ?, UNIX_TIMESTAMP())'); #$sth->bind_param(1, 1, SQL_INTEGER); #$sth->bind_param(2, fix($month), SQL_INTEGER); #$sth->execute(); #$sth->finish(); #$dbh->disconnect();