Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Słowa kluczowe do statystyk
yeti
post 12.10.2003, 22:28:27
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 12.09.2003

Ostrzeżenie: (0%)
-----


Mam mały kłopot. Piszę klasę do obsługi statystyk strony. Chciałbym, aby zapisywane były również słowa kluczowe, które zostały podane w wyszukiwarkach z których nastąpiło przejście do serwisu. Jednak za diabła nie mogę znaleźć metody na zapisanie słów kluczowych ze zmiennej $HTTP_REFERER.
Problem polega na tym, że chciałbym pobierać tylko dokładne słowa wpisane w polu input wyszukiwarki, ale nie wiem jak je automatycznie wydobywać sad.gif
Wiem, że można to zrobić, bo np. Home.pl to rejestruje aaevil.gif

Może ktoś już się kiedyś z tym uporał.


--------------------
pozdrawiam
Krzysiek
Go to the top of the page
+Quote Post
adwol
post 12.10.2003, 22:45:31
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
Mam mały kłopot. Piszę klasę do obsługi statystyk strony. Chciałbym, aby zapisywane były również słowa kluczowe, które zostały podane w wyszukiwarkach z których nastąpiło przejście do serwisu. Jednak za diabła nie mogę znaleźć metody na zapisanie słów kluczowych ze zmiennej $HTTP_REFERER.

W HTTP_REFERER jest teoretycznie URL poprzedniego dokumentu, więc to jak tam będą zapisane słowa kluczowe zależy od przeglądarki. Np. dla googla URL wygląda mniej więcej tak:
Kod
http://www.google.pl/search?q=forum+php+pl&ie=ISO-8859-2&hl=pl&btnG=Szukaj+z+Google&lr=

a rozparsować to można w taki sposób:
[php:1:5f8d678b61]<?php
preg_match('/[?&]q=(.*?)(&|$)/', urldecode($_SERVER['HTTP_REFERER']), $m);
$slowa = explode(' ', $m[1]);
print_r($slowa);
?>[/php:1:5f8d678b61]
Go to the top of the page
+Quote Post
yeti
post 12.10.2003, 23:01:08
Post #3





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 12.09.2003

Ostrzeżenie: (0%)
-----


Zgadza się, ale dla każdej innej wyszukiwarki będzie inny układ słów w URLu.
Zastanawiam się nad prawidłowością, która pozwoliłaby na wyszukanie słów kluczowych w ciągu z dowolnej wyszukiwarki.


--------------------
pozdrawiam
Krzysiek
Go to the top of the page
+Quote Post
KaMeLeOn
post 12.10.2003, 23:18:22
Post #4





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
Zgadza się, ale dla każdej innej wyszukiwarki będzie inny układ słów w URLu.
Zastanawiam się nad prawidłowością, która pozwoliłaby na wyszukanie słów kluczowych w ciągu z dowolnej wyszukiwarki.

Nie ma takiego sposobu, musisz niestety rozróżniać wyszukiwarki...
Myślę, że nie powinieneś mieć z tym problemów, bo układ raczej się nie zmienia.


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
Al
post 19.10.2003, 19:13:30
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 10.10.2003

Ostrzeżenie: (0%)
-----


KaMeLeOn napisał:
Cytat
Myślę, że nie powinieneś mieć z tym problemów, bo układ raczej się nie zmienia.

Układ nie zmienia się tylko w takim sensie, że słowa kluczowe niezależnie od wyszukiwarki będą zawarte po znaku '?'. Sam Onet pozwala na kilka metod wyszukiwania, przyjrzyj się uważnie http_refferer: inny układ pojawia się dla wyszukiwarki, inny dla katalogu, jeszcze inny dla wyszukiwania złożonego. Dla wszystkich układów trzeba ułożyć odpowiedni warunek i osobno dla każdej wyszukiwarki tongue.gif.

Utrudnieniem moze być fakt, że niektóre wyszukiwarki podają wyniki zaczynając od tego samego ciągu znaków, np. dla googla i interii jest to q smile.gif. Tak więc trzeba najpierw różnicować wyszukiwarki.

Mam nadzieję, że to pomoże.


--------------------
Nie ma jutra bez komputra.
Go to the top of the page
+Quote Post
chfast
post 19.10.2003, 21:32:56
Post #6





Grupa: Zarejestrowani
Postów: 222
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


A może warto podpatrzeć jak to robią inne skrypty do statystyk.


--------------------
pozdrawiam, chfast
Go to the top of the page
+Quote Post
chfast
post 19.10.2003, 21:55:35
Post #7





Grupa: Zarejestrowani
Postów: 222
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mam coś...
[php:1:dfbaa16fc1]<?php
//wprowadzasz HTTP_REFERER, dostajesz słowa kluczowe
function getKeywords($refer){

$sr[]=array("wp","szukaj","Wirtualna Polska");
$sr[]=array("poland","query","Poland.com");
$sr[]=array("ahoj","q","Ahoj.pl");
$sr[]=array("altavista","q","Altavista.com");
$sr[]=array("google","q","Google");
$sr[]=array("yoyo","wpis","Yoyo.pl");
$sr[]=array("onet","qt","Onet.pl");
$sr[]=array("hoga","qt","Hoga.pl");
$sr[]=array("arena","qt","Arena.pl");
$sr[]=array("emulti","wyr","Emulti.pl");
$sr[]=array("abacho","q","Abacho");
$sr[]=array("bestoftheweb","q","Best Of The Web");
$sr[]=array("bluewin","q","Bluewin");
$sr[]=array("fireball","q","Fireball");
$sr[]=array("kvasir","q","Kvasir");
$sr[]=array("msn","q","MSN");
$sr[]=array("search","q","Search");
$sr[]=array("infoseek","qt","InfoSeek");
$sr[]=array("acoon","begriff","Acoon");
$sr[]=array("alltheweb","query","All The Web");
$sr[]=array("evision","query","Evision");
$sr[]=array("aol","query","AOL");
$sr[]=array("freenet","query","FreeNet");
$sr[]=array("lycos","query","Lycos");
$sr[]=array("mamma","query","Mamma");
$sr[]=array("big-search","search","Big Search");
$sr[]=array("cypria","search","Cypria");
$sr[]=array("excite","search","Excite");
$sr[]=array("ask","ask","Ask");
$sr[]=array("netscape","search","Netscape");
$sr[]=array("metaspinner","qry","MetSpinner");
$sr[]=array("nbci","keyword","Nbci");
$sr[]=array("web","su","North Ernlight");
$sr[]=array("yahoo","p","Yahoo");
$sr[]=array("szukacz.icm","q","Szukacz-ICM");
$sr[]=array("yandex","text","Yandex.pl");
$sr[]=array("netsprint","qt","netsprint");
$sr[]=array("o2",szukaj,"O2.pl");

$search='';


// parsuj url'a
$url=parse_url($refer);

// twórz zmienne z zapytania url'a
parse_str($url['query']);

// liczba znanych wyszukiwarek
$ile=count($sr);

// zidentyfikuj wyszukiwarke
for($n=0; $n<$ile; $n++)
{
if(eregi($sr[$n][0],$refer) && isset($$sr[$n][1]))
{
$search=$sr[$n][2];
break;
}
}

// slowa kluczowe
if($search)
{

$srq=$$sr[$n][1];
$srq = strtolower($srq);
$sign = array("%22","%23","%24","%25","%26","%27","%2a","%2b","%2c","%5c");
while(list($keysign,$valuesign)=each($sign)) $srq = str_replace ($valuesign, "", $srq);
$quest=str_replace ("+", " ", $srq);
$quest=stripslashes($srq);
$srq=rawurldecode($srq);
$ret[1]=strtolower($srq);
$ret[0]=$search;

}

return $ret;
}
?>[/php:1:dfbaa16fc1]
Uwaga! Kod pochdzi ze skryptu Istats 4.2 i został zamieszczony bez zgody autora.


--------------------
pozdrawiam, chfast
Go to the top of the page
+Quote Post
warrior
post 4.02.2004, 21:08:18
Post #8





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.01.2004

Ostrzeżenie: (0%)
-----


Sprawdził ktoś ten skrypt czy działa ? Trzeba w nim coś zmieniać czy wystaczy wstawić tak jak jest do HTTP_REFERER ?
Go to the top of the page
+Quote Post
Bakus
post 5.02.2004, 02:29:52
Post #9


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


Uzyj:[php:1:bfa789fbff]<?php
print getKeywords($_SERVER['HTTP_REFERER']);
?>[/php:1:bfa789fbff]i sam zobacz... winksmiley.jpg


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.08.2025 - 18:13