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

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago