<?php
include_once __DIR__.'/../vendor/autoload.php';
use BABA\Cache\Cache;
use BABA\Cache\Drivers\Disk;
use BABA\Search\Analyzers\KGR;
use BABA\Search\Analyzers\Results;
use BABA\Search\Engines\Google;
$engine = new Google();
$cache = new Cache(new Disk(),24*3600);
$list = [];
$statuses = [];
$volumes = [];
$foundResults = [];
if ($argc > 2) {
$fp = fopen($argv[1], 'r');
$head = fgetcsv($fp, 10000, ";");
$keywords = [];
while (($line = fgetcsv($fp, 1000, ";")) !== FALSE) {
$keywords[$line[0]] = $line[1];
}
fclose($fp);
foreach ($keywords as $keyword => $volume) {
$volumes[$keyword] = $volume;
if ($volume <= 250 && $volume > 0) {
echo "Checking $keyword ($volume)...";
$results = (new Results($engine, $cache))->getResult($keyword, 'lang_cz', ['cz'], ['allintitle' => true]);
$foundResults[$keyword] = $results;
if (KGR::isKgr($results, $volume)) {
$list[$keyword] = $results / $volume;
$statuses[$keyword] = 'kgr';
if($results == 1) {
echo "Kgr with {$list[$keyword]} and {$results} result found\n";
} else {
echo "Kgr with {$list[$keyword]} and {$results} results found\n";
}
} else {
$statuses[$keyword] = 'not kgr';
echo "Not kgr\n";
}
} else {
if($volume == 0) {
$statuses[$keyword] = 'potentially future keyword';
echo "Potentially future kgr\n";
} else {
$statuses[$keyword] = "ignored because of volume";
echo "Ignoring $keyword for $volume\n";
}
}
}
$t = 0;
$content = "keyword;kgr;volume;results;status\n";
foreach ($keywords as $keyword => $volume) {
$kgr = isset($list[$keyword]) ? $list[$keyword] : -1;
$results = isset($foundResults[$keyword]) ? $foundResults[$keyword] : -1;
$content .= "\"$keyword\";{$kgr};$volume;$results;{$statuses[$keyword]}\n";
if ($kgr == 0) {
$t += $volume;
} elseif($kgr > 0) {
$t += $kgr * $volume;
}
}
file_put_contents($argv[2], $content);
echo "Totally potential traffic $t\n";
$t = 0;
foreach ($statuses as $keyword => $status) {
if($status == "potentially future keyword") {
$t++;
}
}
echo "Found {$t} future keywords\n";
} else {
echo "Usage: php kgr-csv.php <csv file> <out csv file>\n";
}
|