Новый проект Яндекс.XML позволяет использовать XML для работы с поисковой машиной Яндекса.
Так этот сервис описывают авторы:
Яндекс.XML — это уникальная возможность делать автоматические поисковые запросы к Яндексу и публиковать его ответы у себя на сайте в своем дизайне и со своими настройками.
В связи с открытием проекта «XML» Яндекс объявляет конкурсы в двух номинациях:
Победители (по три конкурсанта в каждой номинации) получат призы-сувениры от Яндекса и упоминание своих имен в пресс-релизе. Лучшие работы будут размещены на страницах проекта, а их авторы приглашены в Яндекс на собеседование о работе.
Помимо документации на сайте также размещены «интересные примеры». Три игры («Контрасты», «Отчество» и «Какого оно цвета») помогут весело провести время, а определение позиции сайта в выдаче сделает легче жизнь маркетологов. Два примера дизайна включают ностальгический вариант (старый дизайн Яндекса) и лаконичный (минимум элементов).
Примеры написаны на языке Perl с использованим модулей
XML::XPath и LWP::UserAgent.
Из-за этого их будет сложно запустить на некоторых системах.
Поэтому мы написали свой пример поиска по слову «XML»,
работающий в любом современном unix'e.
XML-запрос (файл request.xml):
<?xml version='1.0' encoding='utf-8'?> <request> <query>xml</query> <maxpassages>1</maxpassages> </request>
Выполнение запроса:
( echo POST /xmlsearch/ HTTP/1.1 echo Host: xmlsearch.yandex.ru echo Content-type: text/plain echo Content-length: `stat -c '%s' request.xml` echo cat request.xml ) | netcat xmlsearch.yandex.ru 80
После регистрации своего IP в системе мы получили ответ на поисковый запрос. Он выглядит так (несколько изменён для лучшего восприятия):
<yandexsearch version="1.0">
<request>
<query>xml</query>
<page>0</page>
<sortby order="descending" priority="yes">rlv</sortby>
<maxpassages>2</maxpassages>
<groupings>
<groupby attr="" mode="flat" groups-on-page="10" docs-in-group="1"
curcateg="-1"/>
</groupings>
</request>
<response date="20031114T044732">
<reqid>215578623</reqid> <wordstat>xml: 1563361</wordstat>
<found priority="phrase">0</found>
<found priority="strict">508550</found>
<found priority="all">508550</found>
<results>
<grouping attr="" mode="flat" groups-on-page="10" docs-in-group="1">
<found priority="phrase">0</found>
<found priority="strict">508550</found>
<found priority="all">508550</found>
<page first="1" last="10">0</page>
...
<group>
<doccount>1</doccount>
<relevance priority="strict">57628</relevance>
<doc>
<relevance priority="strict">57628</relevance>
<url>http://www.xmlhack.ru/</url>
<title>Hовости <hlword priority="strict">XML</hlword>
и ресурсы для разработчиков на xmlhack.ru</title>
<headline>Hовости <hlword priority="strict">XML</hlword>
и ресурсы для разработчиков на xmlhack.ru</headline>
<modtime>20031001T161849</modtime>
<size>7654</size>
<charset>KOI8-R</charset>
<passages>
<passage>В ней описывается синтаксис спецификаций
&quot;Подпись <hlword priority="strict">XML</hlword>&quot; и
&quot;Шифрование <hlword priority="strict">XML</hlword>&quot;,
а также поясняется, как применять технологии подписи и ...
</passage>
</passages>
</doc>
</group>
...
</grouping>
</results>
</response>
</yandexsearch>