/
zMEGA-Dev
/
serpmax-python-sdk
Обзор
Документация
Войти
/
zMEGA-Dev
/
serpmax-python-sdk
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
example.py
101 строка
4 KB
zMEGA-Dev
Add files via upload
02 авг 2026, 12:41
Не верифицирован
02 авг 2026, 12:41
660e236
Код
Авторство
О чём код?
""" example.py — Демонстрация использования Serpmax Python SDK. Установка зависимости: pip install requests Запуск: python example.py """ import json from serpmax_client import SerpmaxAPI, SerpmaxAPIError # ── Инициализация ────────────────────────────────────────────────────────────── # Получите ваш API-ключ в личном кабинете: https://serpmax.ru/account-api API_KEY = "ВАШ КЛЮЧ" client = SerpmaxAPI(api_key=API_KEY) def pp(label: str, data) -> None: """Красивый вывод JSON-ответа в консоль.""" print(f"\n{'─' * 60}") print(f" {label}") print('─' * 60) print(json.dumps(data, ensure_ascii=False, indent=2)) # ── 1. Информация о текущем пользователе ────────────────────────────────────── user = client.get_user() pp("Профиль пользователя", { "id": user["data"]["id"], "email": user["data"]["email"], "plan_id": user["data"]["plan_id"], "plan_expiration_date": user["data"]["plan_expiration_date"], }) # ── 2. Список сайтов ─────────────────────────────────────────────────────────── websites = client.list_websites(page=1) pp("Список сайтов (страница 1)", { "total": websites["meta"]["total_results"], "sites": [ {"id": w["id"], "host": w["host"], "score": w["score"]} for w in websites["data"] ], }) # ── 3. Создать новый аудит (одиночный URL) ───────────────────────────────────── print("\n⏳ Запускаем аудит для https://example.com ...") new_audit = client.create_audit(url="https://example.com") audit_data = new_audit["data"] pp("Результат аудита", { "id": audit_data["id"], "url": audit_data["url"], "score": audit_data["score"], "is_https": audit_data["is_https"], "is_ssl_valid": audit_data["is_ssl_valid"], "ttfb_ms": audit_data["ttfb"], "response_time_ms": audit_data["response_time"], "page_size_kb": audit_data["page_size"], "http_requests": audit_data["http_requests"], "issues": { "major": audit_data["major_issues"], "moderate": audit_data["moderate_issues"], "minor": audit_data["minor_issues"], }, "is_queued": audit_data["is_queued"], }) # ── 4. Получить конкретный аудит по ID ──────────────────────────────────────── audit_id = audit_data["id"] fetched = client.get_audit(audit_id) pp(f"Аудит #{audit_id} (полный объект)", fetched["data"]) # ── 5. Список аудитов с фильтрацией по хосту ────────────────────────────────── audits = client.list_audits(page=1, host="example.com") pp("Аудиты для example.com", { "total": audits["meta"]["total_results"], "items": [ {"id": a["id"], "url": a["url"], "score": a["score"]} for a in audits["data"] ], }) # ── 6. Обработка ошибок ──────────────────────────────────────────────────────── print("\n\n── Тест обработки ошибок ──") try: bad_client = SerpmaxAPI(api_key="invalid_key_000000") bad_client.get_user() except SerpmaxAPIError as e: print(f"✓ Поймана ошибка API: [{e.status_code}] {e}") try: SerpmaxAPI(api_key="") except ValueError as e: print(f"✓ Поймана ошибка валидации (пустой ключ): {e}") try: SerpmaxAPI(api_key="ключ_с_кириллицей") except ValueError as e: print(f"✓ Поймана ошибка валидации (не-ASCII): {e}")