Извлечение данных
Библиотека для работы с API DaData не является частью стандартной библиотеки Python, поэтому вам нужно установить ее, чтобы начать работать с ней.
Для усправления пакетами Python в JupyterHub используется pip, поэтому, для установки запросов необходимо использовать следующую команду в консоли:
pip install dadata
|
После того, как вы установили библиотеку, вам нужно будет ее импортировать.
from dadata import Dadata
|
Следующим шагом устанавливаем ключи и применяем Dadata.
token = "token"
secret = "secret"
dadata = Dadata(token, secret)
|
Ниже приведены примеры вызовов методов API, более подробно можно посмотреть здесь.
Адреса
Стандартизация адресов (тот же метод используется для геокодирования (координаты по адресу) и определения кадастрового номера):
clean_address = dadata.clean("address", "мск сухонска 11/-89")
|
Подсказки по адресам (автодополнение):
suggest_address = dadata.suggest("address", "москва хабар")
|
Обратное геокодирование (адрес по координатам):
geolocate_address = dadata.geolocate(name="address", lat=55.878, lon=37.653)
|
Город по IP-адресу:
iplocate_address = dadata.iplocate("46.226.227.20")
|
Адрес по коду:
Info |
Находит адрес по идентификатору: кадастровый номер (stead_cadnum, house_cadnum или flat_cadnum), только для России; ФИАС-код, он же ГАР-код (fias_id), только для России; КЛАДР-код (kladr_id), только для России; Идентификатор OpenStreetMap (fias_id), только для Белоруссии и Узбекистана; Идентификатор GeoNames (geoname_id), для всех остальных стран. |
find_by_id_address = dadata.find_by_id("address", "9120b43f-2fae-4838-a144-85e43c2bfb29")
|
Отделения Почты России:
-
Полнотекстовый поиск (работает по полям: postal_code, address_str):
suggest_postal_unit = dadata.suggest("postal_unit", "дежнева 2а")
|
-
Запись справочника по идентификатору (работает по полям: postal_code):
find_by_id_postal_unit = dadata.find_by_id("postal_unit", "127642")
|
Идентификатор города в СДЭК, Boxberry и DPD:
find_by_id_delivery = dadata.find_by_id("delivery", "3100400100000")
|
Страны:
-
Полнотекстовый поиск (работает по полям: code, alfa2, alfa3, name_short, name):
suggest_country = dadata.suggest("country", "та")
|
-
Запись справочника по идентификатору (работает по полям: code, alfa2, alfa3):
find_by_id_country = dadata.find_by_id("country", "TH")
|
Компании
Организация по ИНН или ОГРН:
find_by_id_party = dadata.find_by_id("party", "7707083893")
|
Подсказки по организациям (автодополнение):
suggest_party = dadata.suggest("party", "сбербанк")
|
Поиск аффилированных компаний (доступен только в годовой подписке на тарифе «Максимальный»):
find_affiliated_party = dadata.find_affiliated("7736207543")
|
Банки
Банк по БИК, SWIFT, ИНН или регистрационному номеру:
find_by_id_bank = dadata.find_by_id("bank", "044525225")
|
Подсказки по банкам:
suggest_bank = dadata.suggest("bank", "сбербанк")
|
ФИО
Стандартизация ФИО:
clean_name = dadata.clean("name", "Срегей владимерович иванов")
|
Подсказки по ФИО (автодополнение):
suggest_fio = dadata.suggest("fio", "Викт")
|
Телефоны
Стандартизация телефонов:
clean_phone = dadata.clean("phone", "раб 846)231.60.14 *139")
|
Паспорта
Стандартизация паспортов (Проверка по реестру МВД):
clean_passport = dadata.clean("passport", "4509 235857")
|
Кем выдан паспорт:
-
Полнотекстовый поиск (работает по полям: code, name):
suggest_fms_unit = dadata.suggest("fms_unit", "772-053")
|
Email
Стандартизация email:
clean_email = dadata.clean("email", "serega@yandex/ru")
|
Подсказки по email (автодополнение):
suggest_email = dadata.suggest("email", "anton@")
|
Автомобили
Стандартизация автомобилей:
clean_vehicle = dadata.clean("vehicle", "форд фокус")
|
Марки автомобилей:
-
Полнотекстовый поиск (работает по полям: name, name_ru):
suggest_car_brand = dadata.suggest("car_brand", "форд")
|
-
Запись справочника по идентификатору (работает по полям: id):
find_by_id_car_brand = dadata.find_by_id("car_brand", "FORD")
|
Прочие справочники
Налоговые инспекции:
-
Полнотекстовый поиск (работает по полям: code, name_short, address):
suggest_fns_unit = dadata.suggest("fns_unit", "нижнего")
|
-
Запись справочника по идентификатору (работает по полям: code, inn):
find_by_id_fns_unit = dadata.find_by_id("fns_unit", "5257")
|
Таможни:
-
Полнотекстовый поиск (работает по полям: code, name_short, name, address):
suggest_fts_unit = dadata.suggest("fts_unit", "домодедово")
|
-
Запись справочника по идентификатору (работает по полям: code):
find_by_id_fts_unit = dadata.find_by_id("fts_unit", "10002000")
|
Мировые суды:
-
Полнотекстовый поиск (работает по полям: code, name):
suggest_region_court = dadata.suggest("region_court", "нижний")
|
-
Запись справочника по идентификатору (работает по полям: code):
find_by_id_region_court = dadata.find_by_id("region_court", "52MS0022")
|
Станции метро:
-
Полнотекстовый поиск (работает по полям: name, city):
suggest_metro = dadata.suggest("metro", "алек")
|
Товары и услуги (МКТУ):
-
Полнотекстовый поиск (работает по полям: number, name_ru, name_en):
suggest_mktu = dadata.suggest("mktu", "валенки")
|
-
Запись справочника по идентификатору (работает по полям: number):
find_by_id_mktu = dadata.find_by_id("mktu", "250173")
|
Валюты:
-
Полнотекстовый поиск (работает по полям: code, strcode, name, country):
suggest_currency = dadata.suggest("currency", "руб")
|
-
Запись справочника по идентификатору (работает по полям: code, strcode):
find_by_id_currency = dadata.find_by_id("currency", "RUB")
|
Виды деятельности (ОКВЭД 2):
-
Полнотекстовый поиск (работает по полям: kod, name):
suggest_okved2 = dadata.suggest("okved2", "запуск")
|
-
Запись справочника по идентификатору (работает по полям: kod):
find_by_id_okved2 = dadata.find_by_id("okved2", "51.22.3")
|
Виды продукции (ОКПД 2):
-
Полнотекстовый поиск (работает по полям: kod, name):
suggest_okpd2 = dadata.suggest("okpd2", "калоши")
|
-
Запись справочника по идентификатору (работает по полям: kod):
find_by_id_okpd2 = dadata.find_by_id("okpd2", "95.23.10.133")
|
Муниципальные образования (ОКТМО):
-
Запись справочника по идентификатору (работает по полям: oktmo):
find_by_id_oktmo = dadata.find_by_id("oktmo", "54623425")
|
Личный кабинет
Статистика использования (возвращает агрегированную статистику за конкретный день по каждому из сервисов: стандартизация (clean); компания по email (company), поиск дублей (merging), подсказки (suggestions):
daily_stats = dadata.get_daily_stats()
|