Autor Zpráva
sir_Besir
Profil *
Zdravím Vás dobří lidé, mam taký problém.

Pisu skript pro zjisteni pozice stranky ve vyhledávání google. Jenze po pár testech skriptu ( kerý již fungoval ) mi to google asi zatrhlo a tet tam mam err a sice:

Warning: fopen(http://www.google.com/search?hl=cs&q=strecha&btnG=Hledat&start=0&lr=lang_cs) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.0 503 Service Unavailable in /home/free/ic.cz/o/oophp/root/www/g.php on line 80

Nevíte někdo co s tím, resp příklad nebo spůsob jak by se to dalo obejít ?
( DomDocument nefunguje)

Ten můj script vypadá takto:

 $url_webu = $_POST['url_webu'];
 $klicove_slovo = $_POST['klicove_slovo'];
 $zaznam_na_strance = 1;
 $vyskyt = 0;
 $stranka = 0;
 
 while($vyskyt == 0)
 {
if ($zaznam_na_strance == 11){$zaznam_na_strance = 1;}
$filename ="http://www.google.com/search?hl=cs&q=".$klicove_slovo."&btnG=Hledat&start=".$stranka."&lr=lang_cs";
$dokument = fopen($filename,"r");
while (!feof($dokument)) {
  $contents .= fread($dokument, 2048);
} 
//fclose($filename);
$str_search=array("<b>", "</b>");
$str_replace=array("", "");
$rozdeleno =  str_replace($str_search,$str_replace,explode("<li class=g><h3 class=r>", $contents));
//echo $rozdeleno[10];

	 while($zaznam_na_strance != 11 and $vyskyt != 1)
	 {	
if (substr_count($rozdeleno[$zaznam_na_strance], $url_webu) != 0 )
{
	$vyskyt = 1;
}

  echo $zaznam_na_strance."<br />"; 

$zaznam_na_strance = $zaznam_na_strance + 1;
sleep(1);
	} // while($zaznam_na_strance != 11)
$stranka = $stranka + 10;
 echo $filename."<br />";	
	
	flush();
	sleep(5);
	

 } // konec while($vyskyt == 0)
 $pozice = $zaznam_na_strance - 11 + $stranka;
 echo "Web <strong>www.".$url_webu."</strong> je na klicove slovo <strong>".$klicove_slovo."</strong> ve vyhledavaci Google na <strong>".$pozice."</strong>. pozici.";
Majkl578
Profil
problem neni u googlu ale u ic.cz, je zakazany url access. navic celkove toto reseni nevypada moc hezky. proc nepouzivate treba strpos nebo regulerni vyrazy?
while a v nem dalsi 2 while, no fuj.
navic, co se stane, kdyz to nenajde? zacykli se script?
ninja
Profil
sir_Besir: to co delate je poruseni autorskeho zakona - nedovolene vytezovani cizi databaze. Pro vase ucely myslim muzete (legalne) pouzit Google Search API.
sir_Besir
Profil *
S tema zakonama nevim jak to je, ale uz me to funguje, nejde mi o nejake pouzivani to, ale jen proste to zvladnout udelat. A adresa bude fungovat vzdy. V nove verzi mam omezeni na 4 zkousene stranky takze pokud to nenajde na ctvrte tak skonci. BTW: K regulernim vyrazum sem se poradne nedostal este :-) A takhle to funguje taky.

Tet pouzivam toto na nacteni dokumentu $contents = file_get_contents($filename);

Fakt o nic nejde, jen se cvicim :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: