Skip to content

Сохранение и экспорт

Требует pip install "unihra[report]" (pandas + openpyxl).

Excel-отчёт

python
client.save_report(result, "report.xlsx")

Создаёт многолистовую книгу:

ЛистСодержимое
AnchorsАнализ якорей с частотой и href-ссылками
Page StructureMeta titles, H1, заголовки, объём контента
Umbrella GapsЗонтичный анализ — леммы для добавления с рекомендациями
Word AnalysisTF-IDF слова с метками действий
N-GramsШаблоны фраз
TripletsСущности и факты графа знаний (если triplet_analysis=True)
Triplets GapsОтсутствующие темы по серьёзности (если triplet_analysis=True)

Цветовая разметка применяется автоматически:

  • 🔴 Красный — слово/якорь отсутствует на вашей странице
  • 🟢 Зелёный — слово/якорь есть на вашей странице
  • 🟠 Янтарный — important / main tier в триплетах

Отключить стилизацию

python
client.save_report(result, "report.xlsx", style_output=False)

CSV-отчёт

Экспортирует только block_comparison (анализ слов) в CSV:

python
client.save_report(result, "report.csv")

Pandas DataFrame

python
# Требует pandas: pip install "unihra[report]"

df_gaps    = client.get_dataframe(result, "umbrella_analysis")
df_words   = client.get_dataframe(result, "block_comparison")
df_ngrams  = client.get_dataframe(result, "ngrams_analysis")
df_anchors = client.get_dataframe(result, "anchors_analysis")
df_struct  = client.get_dataframe(result, "page_structure")

# Триплеты (только расширенный режим)
df_entities = client.get_dataframe(result, "triplets_analysis")
df_gaps_t   = client.get_dataframe(result, "triplets_gaps")

Обратная совместимость

umbrella_analysis заменяет старый ключ semantic_context_analysis. Оба принимаются методом get_dataframe().

Сохранение сырого JSON (по сегментам)

Разбивает результат на отдельные JSON-файлы по секциям:

python
manifest = client.analyze_and_save(
    own_page="https://example.com",
    competitors=["https://comp.com"],
)
# {
#   "analysis_id": "550e8400-...",
#   "files": {
#     "gaps":      "/path/to/550e8400-.../gaps.json",
#     "words":     "/path/to/.../words.json",
#     "ngrams":    "/path/to/.../ngrams.json",
#     "anchors":   "/path/to/.../anchors.json",
#     "triplets":  "/path/to/.../triplets.json",
#     "structure": "/path/to/.../structure.json"
#   }
# }

print(manifest["files"]["gaps"])

По умолчанию файлы сохраняются в ./unihra_results/{task_id}/. Изменить путь:

python
client = UnihraClient(api_key="ВАШ_КЛЮЧ", storage_dir="/data/seo_results")