mam skrypt, który pobiera mi stronę google, sprawdzając na którym miejscu znajduje się dana strona podczas wyszukiwania danej frazy/słowa. póki co tych stron jest z dziesięć, każda po około dziesięć słów kluczowych. poniższy skrypt działa nieźle dla pierwszych pięciu stron i wszystkich ich słów kluczowych. podobnie ma się sytuacja dla drugiej piątki stron. natomiast jeśli przychodzi sprawdzić wszystkie strony naraz (niestety tak musi być ponieważ docelowo ma to robić cron w nocy, jednokrotnym wykonaniem pliku), wszystko trwa w nieskończoność... cie mam pojęcia co się dzieje i czemu tyle to trwa...
chyba ma w tym udział każdorazowe dwukrotne wywołanie preg_match_all, ale nie jestem pewny.
liczę na pomoc, mi już ręce opadają...
<?
{
$przec = array(', ', ' ,'); $pz['kluczowe'] = str_replace($przec, ',', $pz['kluczowe']); $pieces = explode(",", $pz['kluczowe']); foreach($pieces as $v)
{
$tablica = rekordy($v, $pz['www']);
$tablica['pozycja'] = ($tablica['pozycja']==100) ? 0 : $tablica['pozycja'];
$zap = mysql_query("INSERT INTO pozycjonowanie_log (pos_id, slowo, pr, google, wp, onet, data, google_n, wp_n, onet_n) VALUES ( "".mysql_escape_string($pz['id'])."",
"".mysql_escape_string($v)."",
"".mysql_escape_string($tablica['PR'])."",
"".mysql_escape_string($tablica['pozycja'])."",
"",
"",
"".time()."",
"".mysql_escape_string($tablica['ile'])."",
"",
""
}
}
function rekordy ($word,$www){
$plik = '';
$howFar = 100;
$adress = "http://www.google.pl/search?hl=pl&q=".urlencode($word)."&num=".$howFar."&btnG=Szukaj+w+Google&lr=lang_pl";
dane($adress, $plik);
preg_match_all("#<b>([0-9,]*)</b> dla zapytania#si", $plik, $tablica2);
$ile = count($tablica[1
]); $x = 0;
for($i=0;$i<$ile;$i++){
$x++;
$tabl['fraza'] = $word;
$tabl['pozycja'] = $x;
$tabl['www'] = $www;
$tabl['ile'] = $tablica2[1][0];
$tabl['adres'] = $adress;
$tabl['PR'] = $PR;
if(eregi($www,$tablica[1
][$i])){ //print("<b>$x. ".$tablica[1][$i]."</b><br />");
break;
}else{
//print("$x. ".$tablica[1][$i]."<br />");
}
}
return $tabl;
}
function krzaki($str)
{
$lip = array("Ę", "ę", "Ó", "ó", "Ą", "ą", "Ł", "ł", "Ż", "ż", "Ź", "ź", "Ć", "ć", "Ń", "ń", "Ś", "ś"); $liu = array("Ę", "ę", "Ó", "ó", "ˇ", "ą", "Ł", "ł", "Ż", "ż", "Ź", "Ľ", "Ć", "ć", "Ń", "ń", "Ś", "ś");
return $str;
}
function dane ($filename, &$plik) {
$file = fopen ($filename, "r"); if (!$file){
}
$line = fgets ($file, 1024
); $plik .= $line;
}
}
?>