POST-запросы
Внимание
Специальные символы, передаваемые в качестве значений параметров в теле запроса, необходимо заменять на соответствующие экранированные последовательности в соответствии с XML-encoding. Например, вместо символа амперсанд («&») необходимо использовать последовательность «&».
URL запроса
https://yandex.<домен>/search/xml
? [user=<имя пользователя>]
& [key=<API-ключ>]
& [filter=<тип фильтрации>]
& [lr=<идентификатор региона поиска>]
& [l10n=<язык уведомлений>]
& [showmecaptcha=<yes>]
user |
Имя пользователя. Должно совпадать с логином в Яндекс.Паспорте, заданным при регистрации. |
key |
Значение API-ключа, выданного при регистрации. |
filter |
Правило фильтрации результатов поиска (исключение из результатов поиска документов в соответствии с одним из правил). Возможные значения:
Если параметр не задан, используется умеренная фильтрация. |
lr |
Поддерживается только для типов поиска «русский» и «турецкий». Идентификатор страны или региона поиска. Определяет правила ранжирования документов. Например, если передать в данном параметре значение «11316» (Новосибирская область), при формировании результатов поиска используется формула, определенная для Новосибирской области. Список идентификаторов часто используемых стран и регионов приведен в приложении. |
l10n |
Язык уведомлений поискового ответа. Влияет на текст, передаваемый в теге Возможные значения зависят от используемого типа поиска:
|
showmecaptcha |
Инициирует проверку пользователя для возможной защиты от роботов. Единственное используемое значение — «yes». |
Имя пользователя. Должно совпадать с логином в Яндекс.ПаспортеЯндекс.Паспорте, заданным при регистрации.
Значение API-ключа, выданного при регистрации.
Правило фильтрации результатов поиска (исключение из результатов поиска документов в соответствии с одним из правил). Возможные значения:
- «none» — фильтрация отключена. В выдачу включаются любые документы, вне зависимости от содержимого;
- «moderate» — умеренная фильтрация. Из выдачи исключаются документы, относящиеся к категории «для взрослых», если запрос явно не направлен на поиск подобных ресурсов;
- «strict» — семейный фильтр. Вне зависимости от поискового запроса из выдачи исключаются документы, относящиеся к категории «для взрослых», а также содержащие ненормативную лексику.
Если параметр не задан, используется умеренная фильтрация.
Поддерживается только для типов поиска «русский» и «турецкий».
Идентификатор страны или региона поиска. Определяет правила ранжирования документов. Например, если передать в данном параметре значение «11316» (Новосибирская область), при формировании результатов поиска используется формула, определенная для Новосибирской области.
Список идентификаторов часто используемых стран и регионов приведен в приложении.
Язык уведомлений поискового ответа. Влияет на текст, передаваемый в теге found-docs-human
, а также в сообщениях об ошибках.
Возможные значения зависят от используемого типа поиска:
- «русский (yandex.ru)» — «ru» (русский), «uk» (украинский), «be» (белорусский), «kk» (казахский). Если не задан, уведомления передаются на русском языке;
- «турецкий (yandex.com.tr)» — поддерживается только значение «tr» (турецкий);
- «мировой (yandex.com)» — поддерживается только значение «en» (английский).
Инициирует проверку пользователя для возможной защиты от роботов.
Единственное используемое значение — «yes».
Формат тела запроса
<?xml version="1.0" encoding="кодировка XML-файла"?>
<request>
<!--Группирующий тег-->
<query>
<!--Текст поискового запроса-->
</query>
<sortby>
<!--Тип сортировки результатов поиска-->
</sortby>
<groupings>
<!--Параметры группировки в дочерних тегах-->
<groupby attr="d" mode="deep" groups-on-page="10" docs-in-group="1" />
</groupings>
<page>
<!--Номер запрашиваемой страницы результатов поиска-->
</page>
</request>
Параметр |
Описание |
request |
Группирующий тег. Дочерние теги содержат параметры поискового запроса. |
query |
Текст поискового запроса. При обработке учитываются особенности языка запросов Яндекса (вместо специальных символов необходимо использовать соответствующие экранированные последовательности). На запрос наложены следующие ограничения: максимальная длина запроса — 400 символов; максимальное количество слов — 40. |
sortby |
Правило сортировки результатов поиска. Возможные значения:
Если параметр не задан, результаты сортируются по релевантности. При сортировке по времени изменения параметр может содержать атрибут
|
maxpassages |
Максимальное количество пассажей, которое может быть использовано при формировании сниппета к документу. Пассаж — это фрагмент найденного документа, содержащий слова запроса. Пассажи используются для формирования сниппетов — текстовых аннотаций к найденному документу. Допустимые значения — от 1 до 5. Результат поиска может содержать меньшее количество пассажей, чем значение, указанное в данном параметре. Если параметр не задан, для каждого документа возвращается не более четырех пассажей с текстом запроса. |
page |
Номер запрашиваемой страницы поисковой выдачи. Определяет диапазон позиций документов, возвращаемых по запросу. Нумерация начинается с нуля (первой странице соответствует значение «0»). Например, если количество документов, возвращаемых на странице, равно «n», а в параметре передано значение «p», то в результаты поиска будут включены документы, находящиеся в диапазоне позиций выдачи от Если параметр не задан, возвращается первая страница поисковой выдачи. |
groupings |
Группирующий тег. Дочерний тег содержит параметры группировки результатов. |
groupby |
Набор параметров, определяющих правила группировки результатов. Группировка используются для объединения документов одного домена в контейнер. В рамках контейнера документы ранжируются по правилам сортировки, определенным в параметре Параметры:
|
Совет
При необходимости используйте Валидатор XML-фидов сервиса Яндекс.Вебмастер. Подробные сведения о валидации приведены в приложении.
Пример POST-запроса
Приведенные ниже URL запроса и запрос возвращают третью страницу результатов поиска по запросу «<table>» для пользователя «xml-search-user». Результаты сортируются по времени редактирования документа. Тип поиска — русский (yandex.ru). Результаты группируются по домену. Каждая группа содержит три документа, а количество групп, возвращаемых на одной странице, равно десяти. Максимальное количество пассажей на один документ — два. Сервис возвращает XML-файл в кодировке UTF-8.
URL запроса:
https://yandex.ru/search/xml?user=xml-search-user&key=03.44583456:c876e1b098gh65khg834ggg1jk4ll9j8
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <request> <query>%3Ctable%3E</query> <sortby>tm</sortby> <maxpassages>2</maxpassages> <page>2</page> <groupings> <groupby attr="d" mode="deep" groups-on-page="10" docs-in-group="3" /> </groupings> </request>