Форматы адресных строк поисковиков и каталогов с поисковыми запросами

12
B
На сайте с 14.05.2003
Offline
10
bnz
2756

Всем "здрасьте"!

Дело такое: я написал счётчик для "движка" (сайты, сделанные на этом движке, хостятся у нас, так что проблем с серверными скриптами нет). Собирает данные надёжно и хорошо. Но вот как стал аналитику делать - на анализе заходов через поисковики и каталоги - хоть вешайся!!! Проблема в том, что сложно формализовать форматы адресных строк. Например, в Яндексе видим строку "http://www.yandex.ru/yandsearch?text=<строка в формате %xx>". И вдруг, потом - "http://www.yandex.ru/yandpage<...>&qs=text%3D<строка в формате %xx>". Во втором случае вместо Win-1251 используется непонятная кодировка (по "Штирлицу" - UTF-7 -> KOI-8).

На остальных поисковиках тоже неясно.

А в каталогах - вообще смерть...

Может, кто-то знает эти форматы? Подскажите, плиз

bnz
K
На сайте с 31.01.2001
Offline
737
#1

http://ktmatu.com/software/relax/ - на Perl

там в исходниках покопайся.

Выделенные полосы в Москве (http://www.probkovorot.info) привели к снижению скорости до 23%.
B
На сайте с 14.05.2003
Offline
10
bnz
#2

Посмотрел, спасибо. Но, как я понял (или не там смотрел?😕 ), там не парсится поисковая фраза, а всего-лишь идёт поиск роботов (по URL) в качестве ссылающихся страниц

[Удален]
#3
Как писал bnz

Может, кто-то знает эти форматы? Подскажите, плиз

На самом деле там все достаточно несложно... Сплитуешь запрос на переменные, каждую анализируешь, выбераешь какая нужна и вперед...

Вариантов для Яндекса не так уж и много, для Гугля еще проще (имхо).

Я сейчас одну фишку задумал написать, мне с этими запросами тоже разбираться придется, так что если время терпит - подожди, кусок скрипта отдам. А по-другому - кинь в личку конкретное техзадание - попробую для тебя написать (за пиво 🍻 )

B
На сайте с 14.05.2003
Offline
10
bnz
#4
Как писал Scaramush


Вариантов для Яндекса не так уж и много, для Гугля еще проще (имхо).

Проблема не только в том, какое ключевое слово в каким URL определяет поисковую фразу, но ещё и в том, что непонятно чем и как управляется кодировка - был бы юникод (явно %uXXXX), так всё было бы проще, а то лишь двухбайтовые (по умолчанию - Win-1251), но переключатели кодировки в некоторых местах стоят - например, в гугле (проверено - по ключевым словам "ie=..." и "oe=..."), да и в яндексе зачем-то "цепная" перекодировка встречается.

Как писал Scaramush

Я сейчас одну фишку задумал написать, мне с этими запросами тоже разбираться придется, так что если время терпит - подожди, кусок скрипта отдам. А по-другому - кинь в личку конкретное техзадание - попробую для тебя написать (за пиво 🍻 )

Смотри, как бы не наоборот ;) 🍻

А если серьёзно - могу, кому надо, скинуть, что сам нарыл по поисковикам...🚬

I
На сайте с 13.09.2001
Offline
79
Iva
#5
Во втором случае вместо Win-1251 используется непонятная кодировка (по "Штирлицу" - UTF-7 -> KOI-8).

Штирлиц не поможет. Я с этой проблемой сталкивалась, когда анализировала поисковые запросы из логов. Фишка в том, что иногда (насколько я поняла - если браузер соотв. настроен) при передаче запросов используется юникод, который представляется через UTF-8. Поэтому чтобы разобрать запрос, надо раскодировать UTF-8. Почитать можно здесь: rfc 2279 .

Удачи! Iva feel the power
V1
На сайте с 07.07.2002
Offline
119
#6

Чем богаты...

$st_suche["12move"]="key=";

$st_suche["abacho"]="q=";
$st_suche["acoon"]="begriff=";
$st_suche["alltheweb"]="query=";
$st_suche["altavista"]="q=";
$st_suche["aol"]="query=";
$st_suche["ask"]="ask=";
$st_suche["austronaut"]="suche=";
$st_suche["bestoftheweb"]="q=";
$st_suche["big-search"]="search=";
$st_suche["bluewin"]="q=";
$st_suche["caloweb"]="q=";
$st_suche["cypria"]="search=";
$st_suche["eresmas"]="q=";
$st_suche["evision"]="query=";
$st_suche["excite"]="search=";
$st_suche["find"]="query=";
$st_suche["fireball"]="q=";
$st_suche["freenet"]="query=";
$st_suche["google"]="q=";
$st_suche["goto"]="keywords=";
$st_suche["infoseek"]="qt=";
$st_suche["ins-netz"]="qry=";
$st_suche["ixquick"]="query=";
$st_suche["kvasir"]="q=";
$st_suche["looksmart"]="key=";
$st_suche["lycos"]="query=";
$st_suche["mamma"]="query=";
$st_suche["metaspinner"]="qry=";
$st_suche["msn"]="q=";
$st_suche["nbci"]="keyword=";
$st_suche["netguide"]="q=";
$st_suche["netscape"]="search=";
$st_suche["northernlight"]="qr=";
$st_suche["search"]="q=";
$st_suche["virgilio"]="qs=";
$st_suche["web"]="su=";
$st_suche["worldonline"]="key=";
$st_suche["yahoo"]="p=";
$st_suche["yandex"]="text=";
$st_suche["ya"]="text=";
$st_suche["aport"]="r=";
$st_suche["rambler"]="words=";
Шпарил парень, парил парик (скороговорка)
[Удален]
#7
Чем богаты...

Ща обогатим! :)

http://www.science.co.il/analog/SearchQuery.txt - оно обновляется.

По поводу кодировок - вроде все не так сложно, Гугль если в UTF-8, то эта подстрока есть в URL, а Яндекс имеет две разные кодировки на yandsearch и yandpage. Хотя это утверждение могло устареть.

[Удален]
#8

А скрипт для расшифровки UTF-8 был у одного из участников форума (LiM, если быть точным).

B
На сайте с 14.05.2003
Offline
10
bnz
#9

Спасибо, богатая коллекция 🍻

Кстати, про поводу яндекса:

http://www.yandex.ru/yandpage?q=<id>&p=<# страницы>&ag=h&qs=text%3D<... поисковая строка ...>

Прикол в том, что в этом случае поисковая строка не "%хх%хх%хх", как можно было ожидать, причём 'xx' - 16-ричный код в Win-1251, а примерно так:

http://www.yandex.ru/yandpage?q=11111111&p=2&qs=text%3D%25xx%25xx%25xx

т.е. знак "%" меняется на '%25', но 'xx' - уже непонятно в какой кодировке :(

И заметьте, уже ключевое слово не "text=", а "qs=text%3D"

[Удален]
#10
Как писал bnz

Кстати, про поводу яндекса:...
уже непонятно в какой кодировке :(

Яндекс - найдем все.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий