Categories: Всячина

google-search-api/

Что называется, «поперло». Раньше неделями в блог не писал, а сейчас вот пишу второй пост за 12 часов. Притом пост совершенно незапланированный.

Наверняка многие знают про Google Custom Search . Но на всякий случай напомню — это сервис гугла, который позволяет добавить на свой сайт форму поиска. Поиск может происходить либо по Вашему сайту, либо по указанному Вами множеству сайтов.

Что интересно — вся «установка» этого дела сводится к копированию JavaScript-кода на нужную страницу. Грубо говоря, можно создать какой-нибудь поисковик кулинарных рецептов, воспользовавшись только Custom Search и хостингом narod.ru.

Прибыль Google от использования Custom Search понятная — в результатах поиска показывается реклама (которую, кстати, успешно вырезает Adblock Plus). Выгода пользователей — возможность создать поисковик, заточенный под свои нужды и снижение нагрузки на сайт.

Обратите внимание на механизм уточнений — можно искать как по всему сайту, так и только по блогу или только по форуму.

Это был рассказ о том, что в общем-то ни для кого не является секретом. А вот что на самом деле интересно. Как не сложно заметить, результаты поиска отображаются на нашей странице без ее обновления. Очевидно, имеет место использование Ajax. А там, где используется Ajax, имеет место легкий парсинг и следовательно — практически API.

Если немного погуглить, то несложно найти официальное описание интерфейса к поиску Google. Если вкратце, то мы можем послать GET-запрос вида:

http://ajax.googleapis.com/ajax/services/search/web?v=1.0
&q=site:remontka.com%20perl&start=0

И получить результаты в JSON. С помощью необязательного аргумента start можно «листать страницы». Вообще тут применимы все те аргументы, которые мы видим в адресной строке при поиске в Google. Еще можно заглянуть в панель управления Google Custom Search и найти так называемый «уникальный идентификатор поисковой системы» — с его помощью можно производить поиск только по требуемому множеству сайтов:

http://ajax.googleapis.com/ajax/services/search/web?v=1.0
&cx=015133580201698550960:uxetybz281s&q=google

Если нам хочется воспользоваться средствами расширенного поиска Google, можно просто выполнить запрос на google.com и посмотреть в адресной строке, какие аргументы используются. К сожалению, похоже, что не все из них работают. Вот пример запроса, с помощью которого я хотел найти упоминания в блогах о FreeBSD — не получилось.

http://ajax.googleapis.com/ajax/services/search/web?v=1.0
&tbs=blg:1&lr=lang_ru&q=freebsd

И напоследок — еще один интересный факт. JavaScript, который в панели управления Google Custom Search предлагается разместить у себя на сайте, по каким-то причинам использует для получения результатов поиска совершенно другой интерфейс. То есть не тот, что описан в упомянутой выше документации. Я воспользовался замечательным плагином для Firefox под названием Firebug и посмотрел, откуда берутся данные:

Если убрать все «лишние» аргументы, то получится следующее:

http://www.google.com/uds/GwebSearch?v=1.0
&cx=015133580201698550960:uxetybz281s&q=yandex

Не знаю, что помешало Google использовать собственный же API. Но они его вдруг когда-нибудь закроют, у нас может остаться запасной вариант…

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago