Сохранение и экспорт
Требует pip install "unihra[report]" (pandas + openpyxl).
Excel-отчёт
python
client.save_report(result, "report.xlsx")Создаёт многолистовую книгу:
| Лист | Содержимое |
|---|---|
| Anchors | Анализ якорей с частотой и href-ссылками |
| Page Structure | Meta titles, H1, заголовки, объём контента |
| Umbrella Gaps | Зонтичный анализ — леммы для добавления с рекомендациями |
| Word Analysis | TF-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")