Skip to content

AntonSHBK/avito_personal_template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Avito API Project Template

Этот проект представляет собой шаблон для дальнейшего проектирования и разработки сервисов, работающих с официальным API Avito. Основное направление — взаимодействие с персональными объявлениями пользователя: получение токена авторизации, управление объявлениями, получение статистики и прочие действия в рамках возможностей официального API.

Структура проекта

project_root/
├── app/
│   └── avito_api/
│       ├── auth/         # Сгенерированный клиент Avito API (раздел авторизации)
│       └── ads/          # Сгенерированный клиент Avito API (раздел объявлений)
├── docs/                 # OpenAPI (Swagger) спецификации
├── notebooks/            # Jupyter-ноутбуки для тестирования кода
├── docker/
│   ├── docker-compose.yml
│   └── Dockerfile
└── .env                  # Конфигурация доступа (переменные окружения)

Возможности

  • Получение access_token через client_credentials авторизацию
  • Подключение к сгенерированному Python-клиенту (openapi-generator)
  • Поддержка запросов к разделам API Avito:
    • Авторизация (/token)
    • Работа с объявлениями (если авторизован под аккаунтом с доступом)
  • Возможность расширения под другие разделы API: статистика, сообщения, продвижение

Как использовать

1. Настройка окружения

Создайте файл .env в корне проекта и укажите свои значения:

AVITO_CLIENT_ID=your_client_id
AVITO_CLIENT_SECRET=your_client_secret

2. Генерация клиента

Проект использует Docker и openapi-generator для генерации Python-клиента на основе OpenAPI-описания.

Пример запуска генерации клиента:

cd docker/
docker-compose up --build

После генерации код будет доступен в директориях app/avito_api/auth и app/avito_api/ads.

3. Тестирование API

В директории notebooks/ находится файл test_avito_api.ipynb, где реализован пример получения токена авторизации и базовых вызовов API.

4. Использование сгенерированного клиента

Модули auth и ads можно использовать напрямую без установки в систему. Достаточно добавить путь в sys.path:

import sys
sys.path.append('../app/avito_api/auth')

Примечания

  • Проект ориентирован на работу с персональными объявлениями, размещёнными от вашего имени.
  • Получение публичных списков объявлений по городам или категориям в официальном API не поддерживается.
  • Для анализа рынка недвижимости рекомендуется использовать сторонние API, агрегирующие данные с различных площадок.

Лицензия

MIT License

About

Шаблон для дальнейшего проектирования и разработки сервисов, работающих с официальным API Avito

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors