Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral


![]() |
2 Оглавление
2 введение. 2
3 Объекты.. 2
3.1 Список объектов. 2
3.1.1 Реестр наборов открытых данных. 2
3.1.2 Набор открытых данных. 2
3.1.3 Ответственное лицо набора открытых данных. 2
3.1.4 Перечень версий набора открытых данных. 2
3.1.5 Версия набора открытых данных. 2
3.1.6 Структура версии набор открытых данных. 2
3.2 Контексты объектов. 2
3.2.1 Реестр наборов открытых данных. 2
3.2.2 Набор открытых данных. 2
3.2.3 Ответственное лицо набора открытых данных. 2
3.2.4 Перечень версий набора открытых данных. 2
3.2.5 Версия набора открытых данных. 2
3.2.6 Структура версии набор открытых данных. 2
4 Алгоритм проверки открытых данных. 2
4.1 Реестр наборов открытых данных. 2
4.2 Набор открытых данных. 2
4.3 Ответственное лицо набора открытых данных. 2
4.4 Перечень версий набора открытых данных. 2
4.5 Версия набора открытых данных. 2
4.6 Структура версии набор открытых данных. 2
5 Алгоритм проверки объектов. 2
5.1 Реестр наборов открытых данных. 2
5.1.1 Проверка аргумента. 2
5.1.2 Проверка перед парсингом.. 2
5.1.3 Парсинг данных. 2
5.1.4 Результат. 2
5.2 Набор открытых данных. 2
5.2.1 Проверка аргумента. 2
5.2.2 Проверка перед парсингом.. 2
5.2.3 Парсинг данных. 2
5.2.4 Результат. 2
5.3 Ответственное лицо набора открытых данных. 2
5.3.1 Проверка аргумента. 2
5.3.2 Парсинг данных. 2
5.3.3 Результат. 2
5.4 Перечень версий набора открытых данных. 2
5.4.1 Проверка аргумента. 2
5.4.2 Парсинг данных. 2
5.4.3 Результат. 2
5.5 Версия набора открытых данных. 2
5.5.1 Проверка аргумента. 2
5.5.2 Парсинг данных. 2
5.5.3 Результат. 2
5.6 Структура версии набора открытых данных. 2
5.6.1 Проверка аргумента. 2
5.6.2 Парсинг данных. 2
5.6.3 Результат. 2
6 Алгоритм парсеров. 2
6.1 Парсер RDFa. 2
6.1.1 Получение содержимого страницы.. 2
6.1.2 Редактирование результата. 2
6.1.3 Возвращение полученных данных. 2
6.2 Парсер CSV.. 2
6.2.1 Получение содержимого файла. 2
6.2.2 Проверка кодировки. 2
6.2.3 Определение экранирующего символа. 2
6.2.4 Определение символа ограничителя поля. 2
6.2.5 Определение разделителя поля. 2
6.2.6 Возвращение полученных данных. 2
7 Краткая выдержка всех требований к открытым данным.. 2
7.1 Требования к реестру наборов открытых данных. 2
3 введение
Данный документ является первой рабочей версией документации к библиотеке Opendata API, позволяющий определить важные особенности машиночитаемости метаинформации и данных, публикуемых на официальных сайтах и автоматизированных системах государственных органов в соответствии с Методическими рекомендациями. Библиотека Opendata API разработана для извлечения открытых данных с сайтов опубликовавших открытые данные по Методическим рекомендациям версии 2.3.
4 Объекты
4.1 Список объектов
В ходе работы библиотека Opendata Api оперирует такими сущностями как объекты. Разбиение на объекты соответствует человеческой логике. Ниже перечислены объекты, которые используются в библиотеке.
4.1.1 Реестр наборов открытых данных
Объект олицетворяет перечень, в котором перечислены все наборы.
4.1.2 Набор открытых данных
Объект олицетворяет набор открытых данных вместе с его свойствами.
4.1.3 Ответственное лицо набора открытых данных
Объект олицетворяет ответственное лицо, которое отвечает за публикацию набора открытых данных.
4.1.4 Перечень версий набора открытых данных
Объект олицетворяет перечень всех версий, которые представлены в данном наборе открытых данных.
4.1.5 Версия набора открытых данных
Объект олицетворяет одну версию набора открытых данных.
4.1.6 Структура версии набор открытых данных
Объект олицетворяет структуру одной версии набора открытых данных.
4.2 Контексты объектов
Некоторые объекты имеют смысл только в контексте других объектов. Например, информация о перечне версий набора открытых данных полезна только тогда, когда известно о каком наборе идет речь. Еще один пример, информация о структуре версии набора может быть полезна, если известно для какой версии набора эта структура, и если под эту структуру нет ни одной версии набора, то данная структура абсолютно бесполезна. Ниже перечислены контексты для всех объектов.
4.2.1 Реестр наборов открытых данных
Не имеет контекста в виде объекта. Контекстом для этого объекта является url раздела проверяемого сайта.
4.2.2 Набор открытых данных
Данный объект определен в контексте реестра наборов открытых данных.
4.2.3 Ответственное лицо набора открытых данных
Данный объект определен в контексте набора открытых данных.
4.2.4 Перечень версий набора открытых данных
Данный объект определен в контексте набора открытых данных.
4.2.5 Версия набора открытых данных
Данный объект определен в контексте перечня версий набора открытых данных.
4.2.6 Структура версии набор открытых данных
Данный объект определен в контексте версии набора открытых данных.
5 Алгоритм проверки открытых данных
Ниже представлен общий алгоритм проверки всех объектов в библиотеке в порядке очередности действий. Детальный алгоритм проверки каждого объекта описан в разделе «Алгоритм проверки объектов». В результате проверки всех этих объектов формируется структурированный массив со всеми полученными данными.
5.1 Реестр наборов открытых данных
Проверяется объект реестра открытых данных. В результате успешной проверки будут получены данные обо всех наборах открытых данных.
5.2 Набор открытых данных
Проверяются все объекты наборов открытых данных. В результате успешной проверки для каждого набора будут получены данные об ответственном лице и перечне версий набора открытых данных.
5.3 Ответственное лицо набора открытых данных
Проверяется объект ответственного лица открытых данных.
5.4 Перечень версий набора открытых данных
Проверяется объект перечня версий набора открытых данных. В результате успешной проверки будут получены данные обо всех версиях набора открытых данных.
5.5 Версия набора открытых данных
Проверяется все объекты версий набора открытых данных. В результате успешной проверки будут получены данные о структуре версии набора открытых данных.
5.6 Структура версии набор открытых данных
Проверяется объект структуры версии наборов открытых данных.
6 Алгоритм проверки объектов
Ниже представлены алгоритмы проверки каждого объекта в библиотеке. В описание объектов не включен алгоритм парсера файлов и страниц. Детальный алгоритм парсеров описан в разделе «Алгоритм парсеров».
6.1 Реестр наборов открытых данных
6.1.1 Проверка аргумента
Аргументом для проверки реестра наборов открытых данных является доменное имя сайта (главная страница сайта), который устанавливается приложением в котором используется библиотека «Opendata API». Это может быть, как веб форма на сайте, в которую необходимо ввести адрес сайта, или портал, в котором хранится список организаций с заранее установленными адресами сайтов. Так как аргументом является домен, то вся проверка аргумента сводится к обработке и проверке корректности домена.
6.1.1.1 Проверка на перенаправление с главной страницы сайта.
Если при запросе доменного имени сайта происходит перенаправление на другое доменное имя, то в качестве аргумента (URL сайта) устанавливается новое доменное имя, на который было произведено перенаправление. При том в качестве аргумента устанавливается не полный путь перенаправления, а только доменное имя. В дальнейшем вся проверка проводится с обновленным значением аргумента.
6.1.1.2 Форматирование аргумента.
В дальнейшей проверке аргумент используется в формате http:/// (то есть с обязательным указанием протокола и закрывающего слеша). Если аргумент был передан без протокола, то к аргументу добавляется протокол по умолчанию http. Если не было закрывающего слеша, то добавляется закрывающий слеш. В дальнейшем вся проверка проводится с обновленным значением аргумента.
6.1.1.3 Интернационализованные домены.
Библиотека поддерживает работу, и с кириллическими доменными именами, и с доменными именами в формате Punycode. Для дальнейшей работы библиотеке необходимы 2 формата аргумента: в латинском формате (в формате Punycode в случае интернационализованного доменного имени) и в кириллическом формате (в случае интернационализированного доменного имени). Аргумент в кириллическом формате используется только для проверки на корректность домена на следующем этапе, во всех остальных случаях в дальнейшем будет использоваться домен в латинском формате.
6.1.1.4 Проверка корректности аргумента
Аргумент проверяется на соответствие следующему регулярному выражению: «/^https?:\/\/[a-zа-яё0-9\-]+(\.[a-zа-яё0-9\-]+)*\.[a-zа-яё]{2,4}\/$/u». Если аргумент не соответствует этому регулярному выражению, то проверка реестра наборов открытых данных завершается с ошибкой «адрес сайта указан неверно».
6.1.2 Проверка перед парсингом
6.1.2.1 Проверка главной страницы сайта
Перед проверкой реестра наборов открытых данных производится проверка главной страницы сайта. Если запрос к главной странице вернул HTTP статус от 400 и выше, то проверка реестра наборов открытых данных завершается с ошибкой «главная страница сайта не обнаружена».
6.1.2.2 Проверка страницы открытых данных
Перед проверкой реестра наборов открытых данных производится проверка страницы открытых данных. Если запрос к странице открытых данных вернул HTTP статус от 400 и выше, то проверка реестра наборов открытых данных завершается с ошибкой «страница открытых данных не обнаружена».
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |



