#!/usr/bin/perl my ($buffer,$title,$snippet,$URL,$string,$targetURL,$rank,$ourRank,$searc,$sth); my (@pairs); push (@INC, "/usr/local/apache/cgi-bin"); require("library.pl"); use DBI; &dbConnect("dbh","ats","rw"); $sth=$dbh->prepare("SELECT searchString,domain FROM googleSearchStrings ORDER BY domain"); $sth->execute(); $sth->bind_columns(undef,\$searchString,\$domain); while ($sth->fetch()) { push (@pairs,$searchString . "\t" . $domain); } ($sec,$min,$hr,$day,$mo,$yr,$dayOne,$seq) = localtime(); $datetime = sprintf("%04d-%02d-%02d %02d:%02d:%02d", ($yr + 1900),($mo+1),$day,$hr,$min,$sec); my %opts = ( RaiseError => 1, # Standard DBI options PrintError => 0, lr => [ 'en' ], # DBD::Google options filter => 1, safe => 1, oe => "utf-8", ie => "utf-8", ); # Google API key: 'yPu2Ir1QFHIDzTJZ6Rf/MrxpXSfLIbFd' my $dbh2 = DBI->connect("dbi:Google:", "yPu2Ir1QFHIDzTJZ6Rf/MrxpXSfLIbFd", undef, \%opts); foreach $pair(@pairs) { ($string,$targetURL) = split(/\t/, $pair); $rank = 1; $ourRank = 0; $sth = $dbh2->prepare("SELECT URL FROM google WHERE q = '$string' LIMIT 0,100"); $sth->execute(); $sth->bind_columns(undef,\$URL); while ($sth->fetch()) { if ($URL =~ /\.$targetURL\.com/) { $ourRank = $rank; last; } $rank++; } $sth->finish(); if ($ourRank > 0) { push (@stmts, "INSERT INTO googleSearch (timestamp,searchString,domain,rank) VALUES ('$datetime','$string','$targetURL',$ourRank)"); } else { push (@stmts, "INSERT INTO googleSearch (timestamp,searchString,domain,rank) VALUES ('$datetime','$string','$targetURL','-1')"); } } $dbh2->disconnect(); foreach $stmt (@stmts) { &do($stmt); } $dbh->disconnect(); 1;