Быстрый старт¶
Установка¶
pip install itdpy
Инициализация клиента¶
Самый простой способ начать — авторизоваться по email и паролю. SDK сам
пройдёт капчу Cloudflare Turnstile через браузер, авторизуется и получит
refresh_token — вручную ничего копировать из DevTools не нужно. Подробности
механизма — в разделе Turnstile Interceptor.
from itdpy import ITDClient
client = ITDClient(email="user@example.com", password="my-password")
SDK не сохраняет email/password/refresh_token на диск — вход выполняется
через браузер при каждой инициализации клиента и заново при истечении сессии.
Если нужно переиспользовать refresh_token между запусками — сохраняйте его
самостоятельно (например, через on_refresh_token_update) в защищённом
хранилище на ваше усмотрение:
client = ITDClient(
email="user@example.com",
password="my-password",
on_refresh_token_update=lambda token: print("Новый refresh_token:", token),
)
Альтернатива: вход по сохранённому refresh token¶
Если у вас уже есть сохранённый refresh_token (например, с прошлой сессии
или для CI-окружения без браузера), можно передать его напрямую — тогда
браузер вообще не запускается.
Как получить токен
- Открой
итд.comв браузере и войди в аккаунт. - Открой DevTools.
- Перейди в
Application->Cookies. - Найди cookie
refresh_token. - Скопируй её значение.
from itdpy import ITDClient
client = ITDClient(refresh_token="YOUR_REFRESH_TOKEN")
Config¶
from itdpy import Config, ITDClient
config = Config(
timeout=30,
upload_timeout=180,
max_retries=5,
backoff_factor=2.0,
)
client = ITDClient(
refresh_token="YOUR_REFRESH_TOKEN",
config=config,
)
Подробное описание всех параметров:
Service name¶
from itdpy import Config, ITDClient
config = Config(
service="my_app",
use_user_data_in_user_agent=True,
)
client = ITDClient(
refresh_token="YOUR_REFRESH_TOKEN",
config=config,
)
Получить свой профиль¶
me = client.users.me()
print(me.id)
print(me.username)
print(me.to_json())
Получить ленту¶
from itdpy import PostsTab
posts = client.posts.list(limit=10, tab=PostsTab.POPULAR)
for post in posts:
print(post.id, post.content)
Создать пост¶
post = client.posts.create(content="Привет из itdpy")
print(post.id)
Закрыть клиент¶
client.close()
Как получить токен