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 |
#2 · Zasláno: 14. 1. 2009, 13:51:50
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 |
#3 · Zasláno: 14. 1. 2009, 14:12:08
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 * |
#4 · Zasláno: 14. 1. 2009, 14:32:39
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 :-) |
||
Časová prodleva: 15 let
|
0