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

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

Это снова я 😎

Про яндекс ещё интересная штука выяснилась - может, кому сгодится.

Итак... Если вы делаете составной запрос (т.е. "поиск_1" -> "поиск_2 + искать в найденном" -> +... то получится:

http://www.yandex.ru/yandsearch?holdreq=(поиск_1)&&(поиск_2)&text=поиск_n

bnz
LM
На сайте с 30.11.2001
Offline
71
LiM
#12
Как писал Interitus
А скрипт для расшифровки UTF-8 был у одного из участников форума (LiM, если быть точным).

Пользуйте... (все на Perl) Функции независимы - каждая делает свое, но обе переваривают UTF-8.


sub urldecode{
my($text) = @_;

$text =~ s/\+/ /go;
$text =~ s/%([0-9a-fA-F]{2})/chr(hex($1))/goe;

$text =~ s/%u0401/Ё/go;
$text =~ s/%u0451/ё/go;
$text =~ s/%u04([0-9a-fA-F]{2})/$utf8_tr[hex($1) - 16]/goe;

return $text;
}



sub utf8decode{
my($text) = @_;

my(@chars) = split //, $text;
$text = '';
my($ch, $ich);
for(; $#chars >= 0;){
$ch = shift @chars;
$ich = ord $ch;
unless($ich & 0x80){
;
}elsif(($ich & 0xE0) == 0xC0){
$ich = (($ich & 0x1F) << 6) + (ord(shift @chars) & 0x3F);
if(($ich >= 0x0410) && ($ich <= 0x044F)){
$ch = $utf8_tr[$ich - 0x0410];
}elsif($ich == 0x0401){
$ch = 'Ё';
}elsif($ich == 0x0451){
$ch = 'ё';
}else{
$ch = '?';
}
}else{
$ch = '?';
}
$text .= $ch;
}
return $text;
}

Самое шлавное забыл...

Это (см. ниже) надо вставить в начало проги. Все оптимизировано по скорости, но может это и не последняя версия - последняя работает в офисе, а сейчас немного ночь... ;)


my(@utf8_tr) = split //, 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя';
С уважением, Андрей Хроленок. Загляни в FAQ по оптимизации и продвижению сайтов (http://www.seoman.ru/FAQ/) Анализатор страниц сайтов (http://www.seoman.ru/analizer/)
B
На сайте с 14.05.2003
Offline
10
bnz
#13

И всё-таки... Кто-нибудь знает, что за кодировка применяется на 2 и далее страницах поиска яндекса?

Подстрока выглядит так: "qs=text%3D%25C4%25C1%25CA%25D7%25C9%25CE%25C7%2B%25CE%25C1%2B%25ED%25C1%25CC%25D8%25D4%25C5%26tb%3D1"

находим слово 'qs=', преобразуем получившееся в "text=%C4%C1%CA%D7%C9%CE%C7+%CE%C1+%ED%C1%CC%D8%D4%C5&tb=1", и вот отсюда я так и не могу найти кодировку (начальный запрос - "дайвинг на Мальте")

Polite Moose
На сайте с 22.04.2002
Offline
85
#14
преобразуем получившееся в "text=%C4%C1%CA%D7%C9%CE%C7+%CE%C1+%ED%C1%CC%D8%D4%C5&tb=1", и вот отсюда я так и не могу найти кодировку

=дайвинг+на+Мальте

Так называемая 7-и битная кодировка. Распознано программой TCODE, которой я пользуюсь, и которая мне очень нравится. Удобная.

http://alexboiko.narod.ru/index_r.html

Удачи, доброго пива (http://www.fifth-ocean.ru/) и настроения! Релевантность определяется не тИЦ, не ВИЦ, не количеством ссылок, не частотой ключевого слова, а соответствием запросу!
B
На сайте с 14.05.2003
Offline
10
bnz
#15
Как писал Polite Moose


Так называемая 7-и битная кодировка. Распознано программой TCODE, которой я пользуюсь, и которая мне очень нравится. Удобная.

Ок, спасибо. Но проблема в том, что все обработтчики я пишу сам - типа UDF (User defined function), бОльшая часть - непосредственно на уровне запроса в SQL. Подскажите, где взять таблицы кодировок. 😎

Или старым дедовским способом вбить алфавит и гонять штирлицем? 🚬

LM
На сайте с 30.11.2001
Offline
71
LiM
#16
Как писал bnz
Подстрока выглядит так: "qs=text%3D%25C4%25C1%25CA%25D7%25C9%25CE%25C7%2B%25CE%25C1%2B%25ED%25C1%25CC%25D8%25D4%25C5%26tb%3D1"

находим слово 'qs=', преобразуем получившееся в "text=%C4%C1%CA%D7%C9%CE%C7+%CE%C1+%ED%C1%CC%D8%D4%C5&tb=1", и вот отсюда я так и не могу найти кодировку (начальный запрос - "дайвинг на Мальте")

У меня в лог-анализаторе такие конструкции без проблем раскодитурются всего парой простых функций: urldecode() и koi2win(). Не понимаю, почему у Вас возникли проблемы.

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

У меня в лог-анализаторе такие конструкции без проблем раскодитурются всего парой простых функций: urldecode() и koi2win(). Не понимаю, почему у Вас возникли проблемы.

Спасибо, но забыл сказать - ASP (language=Javascript) & MS-SQL-Server-2000

Был бы php - я бы так не мучался, но noblesse oblige ...

:(

LM
На сайте с 30.11.2001
Offline
71
LiM
#18

А у меня тоже не PHP работает - Perl...

Дело не в языке и БД, где хранятся логи.

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

Всем привет!

Снова я. 😎

Всё продолжаю ковыряться с разного рода поисковиками, роботами, каталогами и т.п.

Вот, попалось, пока гугл ковырял:

http://www.google.com/search?q=cache:9JPmB4SSBtQJ:<URL>+<строка запроса>&hl=ru&ie=UTF-8

Ну понятно, URL и строку запроса я не привожу - они не важны. 🚬

Вопрос в другом - хвост этой строки - явно настройки кодировки (последовательности). Кто-нибудь их синтаксис знает? Мне моего робота-анализатора научить надо :)

LM
На сайте с 30.11.2001
Offline
71
LiM
#20

&ie=<кодировка на входе>&oe=<кодировка на выходе>

Этого достатояно. Дальше сам собирай статистику - там все понятно будет...

12

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