view mobile version net4me Enable JavaScript in your browser! Linux education center net4me.
 
net4me logo

tux

linux commands
shell script
protocol
ip, tcp, smtp, ntp, ftp
telnet terminal
java and javascript
ajax web technology
documentation
howto, man, info
cisco in network
linux server
linux in home
online utility
and more more more.
python development
туе4ьу дштгч

  Содержание подраздела:

Особенности поиска google, браузера firefox и языка клиента. Пишем свой поисковый плагин для firefox.

Уже давольно давно замечал разницу в результатах поиска на разных серверах гугла.
И вот задался вопросом, от чего зависит этот результат, и как мне получить другой результат.
Выяснилось, что выдача результатов поиска в google зависят от массы параметров.
Выяснилось так же, что поисковый плагин браузера Firefox основательно "подигрывает" гуглу, передавая серверу дополнительные параметры запроса.

Разница серверов:

Ни для кого не секрет, что серверов у google великое множество.
И на каждом из них - свои результаты поиска по одному и тому-же запросу.
Причем, если вы в России и основной язык вашего браузера (о языке браузера - см ниже.) русский,
то вы введя URL http://google.com на google.com не попадете, а будете переадресованы на http://www.google.ru
Однако, если запрос составить нонкретно http://google.com/search?q=net4me ,то получете ответ с того сервера,
который для вас считается google.com в данный момент.
$ ping google.com
PING google.com (64.233.187.99) ...
64 bytes from jc-in-f99.google.com (64.233.187.99) ...

$ ping google.ru
PING google.ru (66.249.93.104) ...
А "в данный момент", потому что это тоже величина не постоянная и изменяющаяся.
Продолжаем.

Язык браузера:

Изменим наш запрос. Добавим параметр hl (human language):
http://google.com/search?q=net4me&hl=ru
http://google.com/search?q=net4me&hl=en
Чувствуете разницу?
На самом деле, при одном только запросе, вы передаете гуглу массу параметров.
Например:
aq
oq
complete
hl
newwindow
client
rls
hs
И так далее.
Вот с этими-то переменными мы и будем экспериментировать.

Едем дальше.

Браузер firefox:

Посмотрим встроенный поисковый плагин фаерфокса:

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Google</ShortName>
<Description>Google Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAPfLAAATVikwdA8SnxUfgAsWpAAilholjxw4jB
c7kwAlvQQ2sRMsoBUqqhMzuhY/vxw4tSgmiyM1mSUztiQ6sTE3sQ4qyxMxxRoyxiAuxR1CtBxJsBxasSJuuTFguBte0Rlf2xVc9h9W9xVjzxVr0
gdj6BRh4R1o5yBcyiZbyydT1i9b2Ddb1iFY6CJg2Vpor1dzvEJu20Z0yi23QDy1REi2OUy0O1WzOVC4PU+tVUe5Sk2xQU2zRUO4UE21Ula2SmKE
qWWF2HyPx2+a6X6e6Xqk1m+s78sUDs4UGdEQB9YfDdwaANEfHd0YEscjAM4mAM0qANIoD9IkGdslGswuItYgL4aP0ImP2YGZ36Opzaq2wq/S+rz
X/7/e8MrS1MLO/sTb48rT8snX/83c89PZ+crq+cH1/9Dl/9Ln/93r/9fy/+Hf7P/42eDm/O7u/+T29uX2/eT2/+f4/+f5/+j/9u//8+3/9u7/9u
r5/+j//+n//+v//u3//+7//e7//+////b66/T/6vX/6/f/7f/07fj/4fv/4Pj/5v/45v7/4/r+7/3/6fDw+Pfx//D/9/X/8fT/8/f/8ff/8/D//
/H///L8/fL///P///X7//b6/ff/+/T///b9//f///v19//w9v/09P/29v/x+f/y///z///1+v/1///2///3//j79P/58/z/8/z99/z/9v7/9P7/
9vn7//v6//j9//n9//j///n///v//vv////4+v/5+//6+P/4///6/P/6/v/6///7///9+P/8+v/9+v7/+Pz////8/f/9/f79///8///9//7////
//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAA
MsALAAAAAAQABAAAAj/AEn4oIFjBw8bOnrMuJGjhowZM1T8UdYJUZ5ZcNRYWjSrVK5QU0DMmtUnzRAXEy4o6FCEy6NDTkQIq1MmRgM0eZTlCXMg
QJtRSE4gmgUkwh1EiZTNUiamy6NUUExcuoJgDCdDjQg9KgVL2SNFT1hwEvKglLBWuixZ+jSrlSBdRlL04bBBkTBdpZTpIqWsFaBcTEr0QaEhl6d
WlswKW6poDRUPlmAUQKWMkTJLc76QMQNGUZMWgIgkCFJnlq5WXigwkFClVZQQyuRgELAlk7JBymCZGYAF0ZEPrQixgUDAihxVdPpoAZAFUZIRfT
hxgvPCwAILDipk+OFG2ZIVoxApERtPfvwlvZ+kQFzPvv0MJQEBADs=</Image>
<Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&qu={searchTerms}"/>
<Url type="text/html" method="GET" template="http://www.google.com/search">
<Param name="q" value="{searchTerms}"/>
<Param name="ie" value="utf-8"/>
<Param name="oe" value="utf-8"/>
<Param name="aq" value="t"/>
<!-- Dynamic parameters -->
<Param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}"/>
<MozParam name="client" condition="defaultEngine" trueValue="firefox-a" falseValue="firefox"/>
</Url>
<SearchForm>http://www.google.com/firefox</SearchForm>
</SearchPlugin>


И попробуем на его основе написать свой поисковый плагин для фаерфокса:
$cd ~/.mozilla/firefox/Наш_профиль.default/searchplugins
$vi net4me_search_en.xml
И пишем самое простое, что пришло на ум:
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Net4me ENGLISH in Google</ShortName>
<Description>Net4me ENGLISH Search by Ben-Ja</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAA
DEDgAAxA4AAAAAAAAAAAAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/4AA/4AA/4AA/8aM/8aM/8aM/8aM/8aM/wAA/wAA/4AA/4AA/4AA/8aM/
8aM/////////////////////////////////////wAA/4AA/4AA/8aM/8aM////////////AAD/AAD/AAD/AAD/AAD/AACCgID//////wAA/4AA
/8aM////////////////////////AACCAAD/AAD/AACCgID//////////wAA/4AA/8aM////////////////////////AACCAAD/AAD/AACCgID
//////////wAA/8aM////AAD/AAD/AAD/AAD/////AAD/////AAD/AAD/AAD/AAD/gID//////wAA/8aM////AAD/////////////////////AA
CCAAD/AAD/AACCgID//////////wAA////////////AAD/////////////////AACCAAD/AAD/AACCgID//////////wAA////////////////A
AD/////////////AACCAAD/AAD/AACCgID//////////wAA/8aM////////////////AAD/////////AACCAAD/AAD/AACCgID//////////wAA
/8aM////////////////////AAD/////AACCAAD/AAD/AACCgID//////////wAA/4AA/8aM////////////////////////AACCAAD/AAD/AAC
CgID//////////wAA/4AA/8aM////////////////////////AAD/AAD/AAD/AACCgID//////////wAA/4AA/4AA/8aM/8aM//////////////
//////AAD/AAD/AACCgID//////////wAA/wAA/4AA/4AA/4AA/8aM/8aM////////////////AAD/gID//////////////wAA/wAA/wAA/wAA/
wAA/wAA/wAA/wAA/4AA/4AA/4AA/8aM/8aM/8aM/8aM/8aM</Image>
<Url type="text/html" method="GET" template="http://google.com/search">
<Param name="q" value="{searchTerms}"/>
</Url>
<SearchForm>http://www.google.com/search</SearchForm>
</SearchPlugin>

То есть не передаём вообще никаких параметров кроме "q" то есть самого запроса.
Проверяем. Работает!

Кстати, от кодировки обращения к google поисковику и кодировки "отдачи" (параметры "ie" и "oe", как я понял, ни что иное как "input" и "output" encoding)
Изменяя эти параметры - мы тоже будем получать различные результаты запроса от google:
Попробуем переписать наш поисковый плагин ff для русского языка:

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>net4me.netSSIAN in Google</ShortName>
<Description>net4me.netSSIAN Search by Ben-Ja</Description>
<InputEncoding>windows-1251</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAA
DEDgAAxA4AAAAAAAAAAAAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/4AA/4AA/4AA/8aM/8aM/8aM/8aM/8aM/wAA/wAA/4AA/4AA/4AA/8aM/
8aM/////////////////////////////////////wAA/4AA/4AA/8aM/8aM////////////AAD/AAD/AAD/AAD/AAD/AACCgID//////wAA/4AA
/8aM////////////////////////AACCAAD/AAD/AACCgID//////////wAA/4AA/8aM////////////////////////AACCAAD/AAD/AACCgID
//////////wAA/8aM////AAD/AAD/AAD/AAD/////AAD/////AAD/AAD/AAD/AAD/gID//////wAA/8aM////AAD/////////////////////AA
CCAAD/AAD/AACCgID//////////wAA////////////AAD/////////////////AACCAAD/AAD/AACCgID//////////wAA////////////////A
AD/////////////AACCAAD/AAD/AACCgID//////////wAA/8aM////////////////AAD/////////AACCAAD/AAD/AACCgID//////////wAA
/8aM////////////////////AAD/////AACCAAD/AAD/AACCgID//////////wAA/4AA/8aM////////////////////////AACCAAD/AAD/AAC
CgID//////////wAA/4AA/8aM////////////////////////AAD/AAD/AAD/AACCgID//////////wAA/4AA/4AA/8aM/8aM//////////////
//////AAD/AAD/AACCgID//////////wAA/wAA/4AA/4AA/4AA/8aM/8aM////////////////AAD/gID//////////////wAA/wAA/wAA/wAA/
wAA/wAA/wAA/wAA/4AA/4AA/4AA/8aM/8aM/8aM/8aM/8aM</Image>
<Url type="text/html" method="GET" template="http://google.com/search">
<Param name="q" value="{searchTerms}"/>
<Param name="ie" value="windows-1251"/>
<Param name="oe" value="windows-1251"/>
</Url>
<SearchForm>http://www.google.com/search</SearchForm>
</SearchPlugin>

#====================================
#
# Edit by Ben-Ja http://net4me.net
# On Fri 21 Mar 2008 04:42:19 PM MSK
#
#====================================

Статья пока не дописана до конца!
То есть это - черновик, который будет дорабатываться.


Если у Вас возникло желание что-то добавить к сказанному выше,
То вы можете оставить свой комментарий в обсуждении этой статьи.


home back top
При копировании материалов нашего портала, сылка на net4me обязательна.
Рейтинг@Mail.ru   Valid HTML 4.01 Transitional     Яндекс цитирования   best billing

 



...

net4me snowflake
rfc2368
 
net4me portal This page last modified: Saturday, October 1, 2011   be in net. net4me

portal net4me linux education center