Skip to main content

Python API for Yandex.Aura

Project description

aura-api

Python API для Яндекс.Аура

В разработке

Установка

Требуется Python 3, тестировалось на Python 3.7

  • Установка с помощью pip
pip3 install aura-api
  • Установка из исходников
git clone https://github.com/mickxolotl/aura-api.git
cd aura-api
python3 setup.py install

Использование

Примеры использования можно найти в каталоге examples

import aura

api = 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.text
obj['text']
obj.get('text', 'DEFAULT')

if 'text' in obj: 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 запросы отправляются.

Возможные варианты:

  1. Заменяя USER AGENT в браузере отслеживать пакеты при работе с аурой во вкладке "Network" инструментов разработчика (F12 на многих браузерах)
  2. Перенаправляя пакеты с мобильного устройства на ПК используя для их анализа Charles или Fiddler или используя аналогичные инструменты на мобильном устройстве

Так же возможно выудить что-то из main.js (для перехода необходим мобильный USER AGENT)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aura-api-1.0.4.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

aura_api-1.0.4-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file aura-api-1.0.4.tar.gz.

File metadata

  • Download URL: aura-api-1.0.4.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for aura-api-1.0.4.tar.gz
Algorithm Hash digest
SHA256 7bd0ae1df13a5d291d466e8ac21813a17a6c63a331eca2a86801403ab1f45218
MD5 039a0d863c3255c3db46ff172775ab23
BLAKE2b-256 4abf4030b64c64389d0fce649cb0c406ea47ca722ed2108f2f775301f36e04a3

See more details on using hashes here.

File details

Details for the file aura_api-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: aura_api-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for aura_api-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 66f636985dd8b8cda1a7441ab423caa503beda3408de864a1cdec1884f60848b
MD5 d154e22411bffbd77e1f9c73307a294b
BLAKE2b-256 106763f379141579b51aeb2b90d213f5b6ab4306b9acb3cd5217acdff591c755

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page