eStats project
Free web statistics
How to edit list of detected browsers, bots etc.
Z tego artykułu dowiesz się dodać nowe pozycje do list wykrywanych przeglądarek, systemów operacyjnych, robotów i serwisów wyszukiwarek, a także poznasz budowę pozostałych pomocniczych plików konfiguracyjnych.
Spis treści
^ Wprowadzenie
W obecnej wersji edycja plików konfiguracyjnych używanych przy zbieraniu danych (i nie tylko) jest możliwie uproszczona, przez zastosowanie formatu INI. Pliki reguł wykrywania znajdują się w oddzielnych plikach w katalogu share/data/. W tym katalogu znajdują się także inne pliki pomocnicze, np. definicjami języków i krajów czy kodami logów.
Dodając nową pozycję do pliku przeglądarek, systemów lub robotów sieciowych lub kraj do listy należy dodać adekwatną ikonkę do odpowiedniego folderu w katalogu share/icons/. W przypadku braku unikalnej ikonki, zostanie użyty obrazek NA, pochodzący z motywu.
Do edycji tych plików możesz wykorzystać wtyczkę Editor (domyślnie wyłączona), lecz wymaga to nadania uprawnień do zapisu i odczytu.
^ Budowa
Lista plików:
-
share/
-
data/
- browsers.ini [reguły wykrywania przeglądarek]
- continents.ini [nazwy kontynentów]
- countries.ini [lista krajów]
- country-to-continent.ini [identyfikatory kontynentów dla danego kraju]
- languages.ini [definicje języków]
- language-to-country.ini [identyfikatory krajów dla wybranych języków]
- log-codes.ini [kody logów]
- oses.ini [reguły wykrywania systemów operacyjnych]
- regions.ini [nazwy regionów krajów]
- regions-corrections.ini [tabela korekt identyfikatorów regionów]
- robots.ini [reguły wykrywania robotów]
- websearchers.ini [reguły wykrywania wyszukiwarek]
-
data/
Pliki posiadają zbliżoną budowę, można wyróżnić dwa typy, z sekcjami oraz bez. Poniżej przedstawione są szczegóły struktury wybranych plików.
^ browsers.ini
Fragment:
1 2 3 4 5 6 7 8 9 10 11 12
[NetSurf]
rules[] = "NetSurf/([d.]+)"
[OffByOne]
[OmniWeb]
rules[] = "omniweb/[ a-z]?([d.]+)"
[OpenWave]
rules[] = "UP.(?:Browser)?[ /]([w.]+)"
[Opera Mini]
icon = "opera"
rules[] = "Opera Mini[ /]([d.]+)"
[Opera]
rules[] = "Opera[ /]([d.]+)"
W pliku tym sekcje zawierają identyfikator przeglądarki oraz reguły wykrywania i pobierania wersji (wyrażenie regularne). W przypadku braku reguł nazwa jest wyszukiwania w ciągu identyfikacji, bez zwracania uwagi na wielkość znaków. Dodatkowo możemy określić nazwę ikony (icon).
Istotna jest kolejność pozycji w tablicy, gdyż od niej zależy poprawność wykrycia przeglądarki (np. przeglądarki oparte o Firefox powinny się znajdować na liście przed nim, itd.).
^ oses.ini
Fragment:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
[Windows.NT]
icon = "windows-old"
rules[] = "win[dows ]*nt"
[Windows.CE]
icon = "windows-old"
rules[] = "win[dows ]*ce"
[Windows.Media Center]
icon = "windows"
rules[] = "media center pc[ /][d.]+"
[AIX]
rules[] = "-aix[d.]+"
rules[] = "[ ;(]aix"
[Amiga]
[Atari]
rules[] = "atari[ /]([w.]+)"
[BeOS]
[Darwin]
[mobile.Siemens]
rules[] = "sie-([w+-.]+)?/"
[mobile.SonyEricsson]
rules[] = "sonyericsson[ ]?([w+-.]+)"
[mobile]
rules[] = "midp"
Sekcja zawiera nazwę systemu, dodatkowo możemy zasygnalizować, że chodzi nam o konkretną jego wersję (podając ją po znaku .), wtedy reguły (rules - wyrażenia regularne) nie zwracają jej. Można także wskazać ikonę (icon).
Część sekcji zawiera klucz mobile używany do identyfikacji urządzeń przenośnych.
^ robots.ini
Fragment:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[Alexa]
rules[] = "ia_archiver"
[Altavista]
rules[] = "Scooter[ /-]*[a-z]*[d.]+"
rules[] = "AltaVista"
[Amazon]
rules[] = "(aranhabot|amzn_assoc)"
rules[] = "NutchEC2Test"
[AOLserver]
[Google Sitemaps]
icon = "google"
rules[] = "GSiteCrawler"
rules[] = "Googl(e|ebot)-Sitemaps"
[?]
rules[] = "(robot|spider|crawler)"
Plik ten używa sekcji (nazwa robota) oraz reguły wykrywania w formie wyrażenie regularnego (tablica rules). W przypadku braku reguł wyszukiwana jest w ciągu nazwa z sekcji.
Ostatni wpis (klucz ?) służy do prób wyłapywania robotów nie wymienionych na liście. Dodatkowo możemy określić nazwę ikony (icon).
^ websearchers.ini
Fragment:
1 2 3 4 5 6
google. = "q"
yahoo. = "p"
search.msn.com = "q"
search.live.com = "q"
ask.com = "q"
szukaj.onet.pl = "qt"
Tablica zapisana w tym pliku składa się z klucza, fragment nazwy hostu, który musi się pojawić w nagłówku zawierającym stronę odsyłającą (źródło), a wartością jest klucz zapytania, który zawiera ciąg wpisany przez użytkownika do wyszukiwarki (używany do pobrania słów kluczowych).
^ Zakończenie
Mam nadzieję, że ten artykuł, pomimo pewnych zawiłości, będzie chociaż trochę pomocny i rozwieje chociaż część wątpliwości ;-). Jeśli masz jakieś pytania lub propozycje dotyczące tych plików konfiguracyjnych, to pisz na forum.
Ostatnia modyfikacja: 2008-02-15 22:12:17 CET
Albert EinsteinEverything should be made as simple as possible, but not simpler.