Поиск Почта Карты Маркет Новости Словари Блоги Видео Картинки
Сотрудничество с Яндекс.Картинками
Войти

Яндекс.Картинки приглашают к сотрудничеству фотохостинги

Мы предлагаем владельцам фотохостингов сообщать нам информацию об изменениях, происходящих на их фото-ресурсах, в виде данных в формате XML или Media RSS. Это дает следующие преимущества:

Требования к фотографиям

Мы индексируем фотографии, которые:

Мы не допускаем индексацию фотографий с фотохостингов, которые:

Требования к формату XML-файла

Чтобы получить возможность передавать данные в Яндекс.Картинки через XML, необходимо подготовить CGI-скрипт, формирующий XML-данные об обновлениях базы фотохостинга в формате, описанном ниже. Скрипт должен обрабатывать два параметра - from и to, позволяющих задать период времени, за который требуются данные. Формат параметров from и to, а также данных о дате/времени внутри XML-файла, имеет вид:

год-месяц-день[Tчас:минута:секунда[Z|+час[:]минута]]

Примеры:

2007-07-28
2007-07-28T15:45:23 — указано местное время
2007-07-28T15:45:23Z — время указано по Гринвичу
2007-07-28T15:45:23+05:00 — указано местное время для «+5»-го часового пояса

При обращении к скрипту в параметрах from и to время указывается по Гринвичу. Внутри XML-файла можно использовать любой из приведенных выше форматов, однако использовать местное время без указания часового пояса не рекомендуется.

Кроме информации о новых альбомах и фотографиях, в XML-файле должна передаваться актуальная информация:

Пример XML-файла Комментарии
<?xml version="1.0" encoding="windows-1251"?> XML-файл должен начинаться с данной строки - XML-декларации. В атрибуте encoding указывается кодировка, в которой представлены данные XML-файла. Если атрибут encoding опущен, кодировкой по умолчанию считается UTF-8.
<hosting xmlns="http://images.yandex.ru/schemas/img_import"
              from="2001-01-01"
              to="2007-08-10T20:15:44+03:00"
              site="http://fotki.yandex.ru/ "
              sitename="Яндекс.Фотки">
Параметры фотохостинга:
xmlns — служебный атрибут. Всегда должен иметь значение http://images.yandex.ru/schemas/img_import;
from — дата/время начала периода импорта фотографий;
to — дата/время окончания периода импорта;
site — URL главной страницы фотохостинга;
sitename — название фотохостинга.
<imgset> Описания фотографий
<img id="123456"> Описание одной фотографии: id — уникальный идентификатор фотографии на фотохостинге.
<src>
    http://img-fotki.yandex.ru/get/1/petrov/123456_orig
</src>
URL фотографии.
<location>
    http://fotki.yandex.ru/users/petrov/view/123456/
</location>
URL страницы, на которой показана фотография.
<name>Я на солнышке лежу</name> Название фотографии.
<description>На пляже в Сочи во время летнего отпуска</description> Текст авторского описания фотографии (если есть).
<tags>море,пляж,отпуск,сочи,центральная набережная, прогулочный катер</tags> Тэги и метки фотографии (через «,» или «;», если есть).
<author name="petrov" id="1234">
    http://fotki.yandex.ru/users/petrov/
</author>
Ссылка на URL профиля автора фотографии: name — имя (никнейм) автора; id — уникальный идентификатор автора.
<gallery name="Отпуск в Сочи" id="1234_12">
    http://fotki.yandex.ru/users/petrov/album/12/
</gallery>
Ссылка на галерею (альбом), в которой размещена фотография: name — название галереи (альбома); id — уникальный идентификатор галереи (альбома).
<created>2007-08-10</created> Дата/время размещения фотографии на фотохостинге.
<phototime>2007-07-28T15:45:23+05:00</phototime> Дата/время фотосъемки (если есть).
<adult>no</adult> Признак «только для взрослых»: «yes» — фотография для взрослых, «no» или тег adult отсутствует — содержимое фотографии не относится к категории «только для взрослых».
<path>Путешествия/Россия/Море</path> Путь в дереве категорий (если есть).
<rating>174</rating> Рейтинг фотографии (целое число от 0 до 1000, если есть).
<hits>352</hits> Количество просмотров фотографии (если есть).
<originalfrom>
    http://petrov.narod.ru/images/sochi_123.jpg
</originalfrom>
Ссылка на оригинал фотографии (если есть).
</img>
... (блок <img> может повторяться внутри <imgset> много раз)
<img id="234567" delete="1" /> Удаление фотографии по идентификатору: id — идентификатор фотографии; delete="1" — признак удаления, т.е. фотография с момента последнего импорта XML-данных была удалена с фотохостинга, и информацию о ней необходимо удалить из базы Яндекс.Картинок.
... (блок удаления фотографии по идентификатору может повторяться внутри <imgset> много раз)
<img> Удаление фотографий по URL
<src>
    http://img-fotki.yandex.ru/get/1/petrov/234567_orig
</src>
URL удаляемой фотографии.
<delete /> Признак удаления.
</img>
... (блок удаления фотографии по URL может повторяться внутри <imgset> много раз)
</imgset>
<authorset> Удаление фотографий по автору
<author id="2345" delete="1" /> Удаление всех фотографий автора по его идентификатору: id — идентификатор автора; delete="1" — признак удаления.
<author delete="1">
    http://fotki.yandex.ru/users/sidorov/
</author>
Удаление всех фотографии автора по URL его профиля: delete="1" — признак удаления.
... (блоков удаления всех фотографий, принадлежащих определенному автору, внутри <authorset> может быть несколько)
</authorset>
<galleryset> Удаление галерей (альбомов)
<gallery id="2345_23" delete="1" /> Удаление галереи (альбома) по идентификатору: id — идентификатор галереи; delete="1" — признак удаления.
<gallery delete="1">
    http://fotki.yandex.ru/users/sidorov/album/23/
</gallery>
Удаление галереи по URL: delete="1" — признак удаления.
... (блоков удаления галереи со всем ее содержимым внутри <galleryset> может быть несколько)
</galleryset>
</hosting>

Обработка ошибок

Выполнение следующих правил позволит избежать ошибок индексирования, связанных со сбоями в процессе XML-импорта.

Если при работе скрипта, формирующего XML-файл, произошел сбой, сервер должен вернуть стандартный код ошибки HTTP-протокола, например:

Если в процессе формирования XML-файла ошибка произошла уже после отправки ответа "200 – OK", рекомендуется сразу оборвать передачу данных, по возможности завершив процесс сообщением об ошибке (в произвольной форме). В этом случае не следует формировать правильный (валидный) XML-файл, для чего достаточно не передать закрывающий тег </hosting>. Неправильный формат XML-файла считается признаком ошибки, и переданные в нем данные не будут внесены в индексную базу Яндекс.Картинок.

Media RSS

Мы поддерживаем импорт данных в формате Media RSS. Если у вас уже есть RSS-поток с обновлениями, то мы можем его использовать. В этом случае от фотохостинга не требуется создание дополнительных скриптов.

Как начать импорт

Пришлите нам заявку на подключение фотохостинга к XML-импорту или сообщите адрес RSS-потока на xml-import@images.yandex.ru.

После получения письма мы свяжемся с вами, ответим на вопросы, вышлем всю необходимую информацию и сообщим о дальнейших действиях.

Мы оставляем за собой право отклонить заявку без объяснения причин.