Zadejte hledaný výraz...

Zjisteni pozice ve vyhledavani na google.cz

Petr Horáček
verified
rating uzivatele
(1 hodnocení)
27. 1. 2009 20:16:10
Zdravím Vás lidičky, mam mega problem, už sem zoufalej. Potrebuji napsat script ktery mi zjisti na ktere pozici ve vyhledavaci google.cz se nachazi web na zadane klicove slovo.
Jiz se vyzkousel 4 moznosti a google me proste asi nema rad. DOMdocument, google se nenechal osahat a nevratil me nic. Pres fopen adavkovem nacteni dokumentu me google prestal po dvou dnech reagovat na script, resp. mi ho zakazal pac mi script zacal hazet err 5OO tusim. Sahl sem po fci file_get_contents() ta mi nadherne fungovala asi 14 dni. Pak z niceho nic jakmile odeslu sestavenou adresu na vyhledavani tak mi vrati prazdny obsah, pokud je na index googlu tak ten se stahne. Rikam si no nic, tak sahnu po Google AJAX search API, jenze ta vraci naprosto rozdilny vysledek od pozic pri klasickem vyhledavani na webu. Osetril sem aby vyhledaval jen v cz, ale stale hazi rozdilne vysledky pri diakritice.
For example:
když zadam pulka, najde to jako první slovo půlka na wikipedii ... hlavní stránka ale dává větší důležitost přesně slovu pulka
Nevíte někdo o nějakém funkčním řešení jak zjistit pozici webu ve výsledcích google na požadované klíčové slovo ?
Prosim prosim moc o pomoc, predem vsem dekuji.
27. 1. 2009 20:16:10
https://webtrh.cz/diskuse/zjisteni-pozice-ve-vyhledavani-na-google-cz/#reply220086
DaveLister
verified
rating uzivatele
(8 hodnocení)
27. 1. 2009 20:32:55
Zkusil bych cURL, ten umí akceptovat i COOKIES a taky bych zkusil změnit hlavničku USER_AGENT toho požadavku tak, aby se tvářil jako prohlížeč...
27. 1. 2009 20:32:55
https://webtrh.cz/diskuse/zjisteni-pozice-ve-vyhledavani-na-google-cz/#reply220085
Petr Horáček
verified
rating uzivatele
(1 hodnocení)
27. 1. 2009 22:23:24
Napsal DaveLister;199511
Zkusil bych cURL, ten umí akceptovat i COOKIES a taky bych zkusil změnit hlavničku USER_AGENT toho požadavku tak, aby se tvářil jako prohlížeč...
pomocí cURLu to je teď realizovaný a jakákoliv hlavička kromě Accept-Language nemá vliv na výsledky
27. 1. 2009 22:23:24
https://webtrh.cz/diskuse/zjisteni-pozice-ve-vyhledavani-na-google-cz/#reply220084
korwin
verified
rating uzivatele
(25 hodnocení)
27. 1. 2009 22:27:08
Já to dělal přes fopen a taky mě na chvilku zakázal, ale pak se to zas rozjele. Nějak moc sem to netestoval. Ale pozice to taky nevyhledá dycky přesně. Chce to ještě dost vychytat :)). A nebo teda použít jinou metodu...jediný co mě funguje přesně je jyxo.cz, ostatní v tom kodu maj hroznej bordel.
27. 1. 2009 22:27:08
https://webtrh.cz/diskuse/zjisteni-pozice-ve-vyhledavani-na-google-cz/#reply220083
Petr Horáček
verified
rating uzivatele
(1 hodnocení)
27. 1. 2009 22:37:25
Napsal korwin;199662
Já to dělal přes fopen a taky mě na chvilku zakázal, ale pak se to zas rozjele. Nějak moc sem to netestoval. Ale pozice to taky nevyhledá dycky přesně. Chce to ještě dost vychytat :)). A nebo teda použít jinou metodu...jediný co mě funguje přesně je jyxo.cz, ostatní v tom kodu maj hroznej bordel.
timhle spusobem, nez sem skusim sahnout po API tak mi chodil seznam i google presne >>
$nechtene_mezery = array(" ");
$klicova_slova = $_POST.",".$_POST.",".$_POST;
$klicova_slova = str_replace($nechtene_mezery,"%20",htmlspecialchars($klicova_slova));
$klicove_slovo = explode(',',$klicova_slova);
$pocet_klicovych_slov = count($klicove_slovo);
$url_webu = htmlspecialchars(str_replace("www.","",$_POST));
echo $url_webu;
$aktualni_klicove_slovo = 0;
echo"
";
while($aktualni_klicove_slovo != $pocet_klicovych_slov)
{
$seznam_pocatek = 1;
$google_pocatek = 0;
$seznam_pozice = 0;
$google_pozice = 0;
$seznam_vyskyt = 0;
$google_vyskyt = 0;
while($seznam_pocatek < 32 and $google_pocatek < 31)
{
$seznam_zaznam_na_strance = 1;
$google_zaznam_na_strance = 1;
$seznam_adresa = "http://search.seznam.cz/?q=".$klicove_slovo."&pId=V5arhURTo-Df&count=10&from=".$seznam_pocatek;
$google_adresa = "http://www.google.cz/search?hl=cs&lr=&q=".$klicove_slovo."&start=".$google_pocatek."&sa=N&lr=lang_cs";
$seznam_contents = @file_get_contents($seznam_adresa);
$google_contents = @file_get_contents($google_adresa);
$odstraneni_znaku = array("", "");
$seznam_zkraceno = str_replace($odstraneni_znaku,"",explode("Výsledky hledání",$seznam_contents));
$seznam_rozdeleno = explode('
Klíčové slovo Seznam Google.cz
";
if ($seznam_vyskyt == 1)
{echo "";}
else
{echo "";}
if ($google_vyskyt == 1)
{echo "";}
else
{echo "";}
$aktualni_klicove_slovo = $aktualni_klicove_slovo + 1;
}
mozna nekdo namitne ze to neni nejelegantnejsi reseni, ale bylo funkcni bezmala 14 dni :D nevim proc mi tet google nejde, seznam maka stale
27. 1. 2009 22:37:25
https://webtrh.cz/diskuse/zjisteni-pozice-ve-vyhledavani-na-google-cz/#reply220082
Pokud by někdo chtěl zjistit, jak na diakritiku u Google API, můžete to zkusit. Dneska jsem nad tim strávil nekrátkou chvíli a už mi nějak došly nápady.
http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=keyword
U přímého zápisu slov do get proměnné Google s naprostým klidem vynechá písmena s diakritikou. Zjistil jsem, že je "zchroustá" pokud je zapíšeme ve tvaru %uXXXX (XXXX je ASCII kód v hexadecimální soustavě), ale výsledky se liší od toho, co najde při vyhledávání z hlavní stránky.
Pokud má někdo zájem o zjištění pozice bez diakritiky, může použít můj script
----------------
function google_pos($address, $keyword, $lang) // URL webu, klíčové slovo, jazyk vyhledávání (cs,sk,en,pl,hu...)
{
// Nastaveni
$poscount = 40; // Počet prohledaných pozic
$pozice = "";
$kw = "";
$headerlang = $lang;
$lang = $lang == "" ? "" : "lang_" . $lang;
for($i=0;$i
{
$char = substr($keyword, $i, 1);
$char = "%u00".dechex(ord($char));
$kw .= $char;
}
$keyword = $kw;
for($i=0;$i<$poscount;$i=$i+4)
{
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=" . $keyword . "&start=" . $i . "&lr=" . $lang . "";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept-Language: " . $headerlang . ""));
$var = curl_exec($ch);
$results = json_decode($var);
$count = count($results->{"responseData"}->{"results"});
if(($poscount-$i)<$count) $count = $poscount-$i;
for($j=0;$j<$count;$j++)
{
if(eregi($address, $results->{"responseData"}->{"results"}->{"unescapedUrl"}))
{
$pozice = $i+$j+1;
return $pozice;
exit;
}
}
}
return "0";
}
?>
----------------
27. 1. 2009 23:52:43
https://webtrh.cz/diskuse/zjisteni-pozice-ve-vyhledavani-na-google-cz/#reply220081
Petr Horáček
verified
rating uzivatele
(1 hodnocení)
28. 1. 2009 19:14:52
Nikdo nevite jak uopravit to od BOBera ? Prosim prosim.
28. 1. 2009 19:14:52
https://webtrh.cz/diskuse/zjisteni-pozice-ve-vyhledavani-na-google-cz/#reply220080
Pro odpověď se přihlašte.
Přihlásit
',$seznam_zkraceno);
$google_rozdeleno = str_replace($odstraneni_znaku,"",explode("
  • ", $google_contents));
    while($seznam_zaznam_na_strance != 11 and $seznam_vyskyt != 1)
    {
    $seznam_pozice = $seznam_pozice + 1;
    if (substr_count($seznam_rozdeleno, $url_webu) != 0 )
    {
    $seznam_vyskyt = 1;
    }
    $seznam_zaznam_na_strance = $seznam_zaznam_na_strance + 1;
    }
    $seznam_pocatek = $seznam_pocatek + 10;
    while($google_zaznam_na_strance != 11 and $google_vyskyt != 1)
    {
    $google_pozice = $google_pozice + 1;
    if (substr_count($google_rozdeleno, $url_webu) != 0 )
    {
    echo $google_rozdeleno."
    ";
    $google_vyskyt = 1;
    }
    $google_zaznam_na_strance = $google_zaznam_na_strance + 1;
    }
    $google_pocatek = $google_pocatek + 10;
    }
    sleep(1);
    flush();
    echo "

  • ".str_replace("%20"," ",$klicove_slovo)."".$seznam_pozice."-".$google_pozice."-