Package: aura-api
aura-apiPython API для Яндекс.АураВ разработкеУстановкаТребуется Python 3, тестировалось на Python 3.7Установка с помощью pippip3installaura-apiУстановка из исходниковgitclonehttps://github.com/mickxolotl/aura-api.gitcdaura-api
python3setup.pyinstallИспользованиеПримеры использования можно найти в каталогеexamplesimportauraapi=aura.API(aura.AuthSession('LOGIN','PASSWORD'))Заменив строки на свои логин и пароль, выполните код.
Теперь можно обращаться к методам АПИ ауры.
Например, обращения к методу/api/user/interests/или/api/post/info/<post_id>/выполняются соответственноapi.user.interests()# иapi.post.info[post_id]()Параметры запроса можно указать в аргументахapi.post.edit[post_id](text='Отредактированный текст',background=19)Результатом выполнения запроса может быть:"OK" при изменении данных;id сущности при ее создании;объектDummyпри получении данных.Работать сDummyможно несколькими способами:obj.textobj['text']obj.get('text','DEFAULT')if'text'inobj:pass# для проверки наличия значения 'text' в объектеНюансыМетод HTTP запросаДля запросов с получением данных используется HTTP методGET, а при изменении данных на сервереPOST.В случае, если метод был выбран неверно, попытка повторится с другим методом,
а в логе будет сообщениеInvalid HTTP method...с корректным методом.
Его можно указать при обращении к методу:api.some.method('GET')# илиapi.some.method(_http_method='GET')Способ авторизацииПри инициализации объектаAuthSessionкаждый раз отправляется несколько запросов
наpassport.yandex.ruдля авторизации.Возможно, частые авторизации могут показаться подозрительными и повлечь за собой
наложение ограничений на аккаунт.Данные для использованияCookieSessionможно получить, вызвав методget_cookie_session_argsобъекта классаAuthSession:session=aura.AuthSession('LOGIN','PASSWORD')cookies=session.get_cookie_session_args()print(cookies)# сохранить для последующего использованияcookie_session=aura.CookieSession(**cookies)НастройкаНастройки содержатся в объектеaura.config.configи могут быть
изменены напрямую или с помощьюaura.configureдо инициализации прочих объектовaura.config.config.USER_AGENT='Mozilla/5.0 ...'aura.configure(USER_AGENT='Mozilla/5.0 ...',API_DELAY=0)USER_AGENT - отправляемый в каждом запросе заголовок, должен соответствовать USER_AGENT
мобильного устройства и отвечать некоторым другим условиямDEFAULT_APP_VERSION - отправляемая в каждом запросе версия используемого приложенияHTTP_TIMEOUT - лимит ожидания ответаAPI_DELAY - задержка между повторными запросамиHTTP_METHOD_CORRECTION - при ошибке Invalid action пробовать с альтернативным HTTP методом,
за исключением случаев, когда метод указан вручнуюДоступные методыВ открытом доступе нет всех доступных методов и их аргументов.
Здесь со временем будут появляться основные методы и аргументы с описанием
(но особо на это рассчитывать не стоит).Изучать необходимые вам методы можно выполняя действия и наблюдая за тем, какие HTTP запросы
отправляются.Возможные варианты:Заменяя USER AGENT в браузере отслеживать пакеты при работе с аурой во вкладке "Network" инструментов разработчика
(F12 на многих браузерах)Перенаправляя пакеты с мобильного устройства на ПК используя для их анализа Charles или Fiddler или используя
аналогичные инструменты на мобильном устройствеТак же возможно выудить что-то изmain.js(для перехода
необходим мобильный USER AGENT)