Pull to refresh

Яндекс поиск на вашем сайте.

Reading time 2 min
Views 7.4K
Приведу пример класса, который можно использовать в качестве поисковика на вашем сайте.
Для работы класс использует сервис Яндекс.XML. В свободном режиме они разрешают использовать до 1000 запросов в день. Условия использования сервиса на xml.yandex.ru

Яндекс.XML — это сервис, позволяющий делать автоматические поисковые запросы к Яндексу и публиковать его ответы у себя на сайте в собственном дизайне. Поиск от Яндекса — это быстрый доступ к сотням миллионов документов и изображений.

С помощью Яндекс.XML вы можете предлагать своим пользователям:
  • поиск по вашему сайту (в той мере, в какой этот сайт проиндексирован Яндексом);
  • поиск по сети или ее части (регион, отрасль), результаты которого могут показываться на вашем сайте и в вашем дизайне, и сервисы на его основе — Яндекс.XML открывает большие возможности для исследователей поисковых систем и преподавателей;
  • поиск изображений, опубликованных в сети.



Данный скрипт реализует работу только полнотекстового поиска.

Пример работы скрипта, можно посмотреть здесь: kolesa.kz/search/?stext=Toyota

Изначально класс писался для сайта, чьи исходники в формате ANSI (windows 1251). Поэтому в коде могут повстречаться интересные ICONV. Причина появления таких перекодировок следующая: ответ приходит в UTF-8 а сам код в cp-1251. И чтобы в результате смешения кодировок не получился СЮРПРИЗ, приходится изгаляться.

Для работы вы можете все подчистить, и сделать так как вам нравиться. Это всего лишь пример.

Класс не использует никаких шаблонов, для целостности примера. Чтоб вы могли его запустить сразу.
Единственно необходимо удостовериться в том, что:
  • у вас PHP5
  • хостер вам разрешает работать с сокетами
  • подключено расширение для php под название DOM
  • вы зарегистрировались на Яндексе и вбили IP адрес вашего сервера
  • define(«SEARCH_ADT_QUERY»,«<< url=\»kolesa.kz/content/*\«»); — указывает на ваш сайт


Класс находится по адресу: docs.google.com/Doc?id=dcn4jhdv_4gt4qgzfq

UPD0 Вариант скрипта от Яндекса: xml.yandex.ru/games/site-search-php.html (спасибо Normull, когда писали класс, этого еще не было)

UPD1 На который у меня не хватило сил, но отлично дополнил Groove:
Для партнеров яндекса, установивших поисковой директ на свои сайте это ограничение снимается.
Т.е., если вы дадите пользовать результатами поиска всем его посетителям, при условии, что там стоит Директ на сайте — вас никто не забанит.
А вот если вы просто собираете выдачу например для seo-анализа, бан неминуем.
Только про это имелось в виду.

Tags:
Hubs:
+38
Comments 26
Comments Comments 26

Articles