Google Suchwort erkennen

Rosti

Mitglied
Hallo,
ich arbeite gerade an einer kleinen Statistik, möchte dafür anhand des Referers, die Suchwörter Filtern und in einer Tabelle anzeigen lassen welchen Suchwort wie oft verwendet wurde.

Leider fehlt mir der ansatz wie. Kann mir jemand helfen?

/EDIT/
OKAY, eine Lösung für das Listen habe ich gefunden, aber nun weis ich nicht wie ich aus der URL das Suchwort/Suchwörter Filtern kann
 
Zuletzt bearbeitet:
Ich hab mir mal vor geraumer Zeit eine kleine Funktion für das zusammengebastelt:

PHP:
   <?
   function getInfo($referer){
   	$referer = rawurldecode(base64_decode($referer));
   	//Domain filtern
   	$domainsplitt = explode('/', $referer);
   		$domainname = $domainsplitt[2];
   		
   	//Suchausdruck ermitteln
   	$seeking = $referer;
   	
   	if ($seeking){
   		$domain = explode('/', $seeking);
   	 
   		$array = array( 
   				array('google','q'), 
   				array('alltheweb','query'), 
   				array('altavista','q'), 
   				array('aol','query'), 
   				array('excite','search'), 
   				array('hotbot','query'), 
   				array('lycos','query'), 
   				array('yahoo','p'), 
   				array('t-online','q'), 
   				array('msn','q'), 
   				array('netscape','search'),
   				array('web','su')
   				); 
     
   	for($i=0; $i<count($array); $i++) 
   	{ 
   	 
   		if(eregi($array[$i][0], $seeking)) 
   		{ 
   			$parse = parse_url($seeking); 
   			parse_str($parse['query'], $output); 
   			$keyword = $output[$array[$i][1]];
   			$suchMaschine = $array[$i][0];
   			$searchEngine = "yes";
   			break; 
   		}
   	}
   	}	
   	return array($domainname, $searchEngine, $keyword, $suchMaschine);
   	//return $keyword;
   }
   ?>

Du musst einfach nur den Referrer auslesen und nach dem Query suchen.
 
Hi, danke für die Funtkion Problem ist das die Daten (Referers) aus der Datenbank kommen und ich nun nur noch die Keyword filtern muss. Zudem ich noch nicht gaz in sachen PHP und Arrays bewandelt bin :D
 
Auch wenn die Daten aus der DB kommen ist das kein Problem, die Funktion gibt nur ein paar Werte mehr aus, aber das sollte kein Problem sein.

PHP:
 <?
 function getInfo($referer){
 	$referer = rawurldecode(base64_decode($referer));
 	//Domain filtern
 	$domainsplitt = explode('/', $referer);
 		$domainname = $domainsplitt[2];
 		if(empty($domainname)){ $domainname = "keine Angaben"; }
 		
 	//Suchausdruck ermitteln
 	$seeking = $referer;
 	
 	if ($seeking){
 		$domain = explode('/', $seeking);
 	 
 		$array = array( 
 				array('google','q'), 
 				array('alltheweb','query'), 
 				array('altavista','q'), 
 				array('aol','query'), 
 				array('excite','search'), 
 				array('hotbot','query'), 
 				array('lycos','query'), 
 				array('yahoo','p'), 
 				array('t-online','q'), 
 				array('msn','q'), 
 				array('netscape','search'),
 				array('web','su')
 				); 
   
 	for($i=0; $i<count($array); $i++) 
 	{ 
 	 
 		if(eregi($array[$i][0], $seeking)) 
 		{ 
 			$parse = parse_url($seeking); 
 			parse_str($parse['query'], $output); 
 			$keyword = $output[$array[$i][1]];
 			$suchMaschine = $array[$i][0];
 			$searchEngine = "yes";
 			break; 
 		}
 	}
 	}	
 	return array($domainname, $searchEngine, $keyword, $suchMaschine);
 	//return $keyword;
 }
 ?>

So ungefähr könntest du es machen: (einfach deine DB abfragen und in die While Schleife geben)
PHP:
 <?
 
 # zB bei Google ist das Query in q
 $referer = 'http://www.google.at/search?hs=4FL&hl=de&client=firefox-a&rls=org.mozilla%3Ade-DE%3Aofficial_s&q=php&btnG=Suche&meta=';
 
 # Meine Funktion aufrufen
 $info = getInfo($referer);
 $keyword = $info[2];
 $suchmaschine = $info[3];
 
 ?>
 
Hey, danke, das konnte sogar nun ich :D, naja wie bereits gesagt hängs bei arrays bei mir noch ;), aber nun kann man ja erkenne und wieder was lernen ;). Nur den ersten teil musste ich ausklammern da es sonst nicht ging:

Code:
$referer = rawurldecode(base64_decode($referer));
 	//Domain filtern
 	$domainsplitt = explode('/', $referer);
 		$domainname = $domainsplitt[2];
 		if(empty($domainname)){ $domainname = "keine Angaben"; }
Den Teil musste ich entfernen da er sonst leer wieder zurück kam ?!
 
Aha. Ich kann dir jetzt leider nicht auf die schnelle sagen was ich damit machen wollte, ist schon einige Zeit aus als ich die Funktion benötigt habe.

Falls dein Problem jetzt gelöst ist markiere den Thread bitte als erledigt.
 
Zurück