Загрузка данных


Ты работаешь в проекте:

/Users/23865613/IdeaProjects/untitled/adt-markdownify-meta

Контекст:
Проект уже успешно запустился через SberBrowser и создал файлы:

output/ФП SberGeo.СНЛ - META.md
output/README.md
temp_html/ФП SberGeo.СНЛ - META.html

По результату видно, что выгрузка работает: Markdown содержит реальные данные META, в том числе:
- ФП SberGeo.СНЛ - META
- Источник: https://meta.sberbank.ru/meta/earp/functionalSubsystem/236500
- Проверка разделов META
- Новая META
- АрхРепозиторий
- API
- АрхКонтроль
- Функциональная подсистема
- SB92 SberGeo.СНЛ
- Структура
- Атрибуты
- Диаграммы
- Стенды
- Соответствие Стандартам
- Интеграции
- список объектов структуры, например:
  Геоинформационная система SberGeo
  SberGeo.СНЛ
  СНЛ.Sigma
  СНЛ.Расчеты
  СНЛ.Интеграции
  CHU Proxy Signal
  snl-ecs-users
  snl-layout-backend

Проблема:
Markdown сейчас содержит слишком много интерфейсного шума и плохо структурирован:
- верхнее меню META;
- служебные элементы;
- повторы;
- слова статусов;
- длинная простыня объектов без нормальных секций.

Задача:
Улучшить качество Markdown, НЕ ломая уже рабочий запуск.

Важно:
- Не переписывай проект с нуля.
- Не меняй запуск браузера, если он уже работает.
- Не меняй requirements.txt без необходимости.
- Не добавляй API.
- Не добавляй requests/httpx/aiohttp/urllib.
- Не добавляй token/cookie/login/password.
- Не сохраняй cookies.
- Не сохраняй sessionStorage/localStorage.
- Не удаляй сохранение raw HTML в temp_html/.
- Не удаляй output/README.md.
- Не запускай массовую выгрузку.
- Можно запускать только на одной текущей тестовой ссылке из meta_urls.txt.

Нужно доработать только обработку HTML/Markdown:

1. scripts/html_to_markdown.py
2. при необходимости scripts/markdown_writer.py
3. README.md, если нужно описать качество результата

Что нужно сделать в scripts/html_to_markdown.py:

1. Оставить функцию build_meta_markdown(html: str, url: str) -> dict.

2. Добавить очистку Markdown после конвертации:
   - удалить лишние пустые строки;
   - удалить строки, которые относятся к интерфейсу и не несут архитектурной пользы;
   - убрать повторяющиеся подряд одинаковые строки;
   - убрать строки только из символов/мусора;
   - оставить русские и английские названия объектов;
   - оставить URL источника;
   - оставить названия разделов META.

3. Сохранять важные разделы:
   - Проверка разделов META
   - Новая META
   - АрхРепозиторий
   - API
   - АрхКонтроль
   - Функциональная подсистема
   - Структура
   - Атрибуты
   - Диаграммы
   - Стенды
   - Соответствие Стандартам
   - Интеграции

4. Для страницы функциональной подсистемы попытаться сделать Markdown более читаемым:

   # <title>

   Источник: <url>

   ---

   ## Проверка разделов META

   <строки проверки, если есть>

   ## Основная информация

   - Тип объекта: Функциональная подсистема
   - Название: SB92 SberGeo.СНЛ

   ## Разделы страницы

   - Структура
   - Атрибуты
   - Диаграммы
   - Стенды
   - Соответствие Стандартам
   - Интеграции

   ## Структура

   - Геоинформационная система SberGeo
   - SberGeo.СНЛ
   - СНЛ.Sigma
   - СНЛ.Расчеты
   - СНЛ.Интеграции
   - CHU Proxy Signal
   - snl-ecs-users
   - snl-layout-backend
   - и другие найденные объекты

5. Если не получается идеально распознать структуру, не ломай данные:
   - лучше сохранить больше полезного текста, чем удалить важное;
   - raw HTML всё равно должен оставаться в temp_html/.

6. Добавить внутренние функции, если удобно:

   clean_markdown_lines(markdown: str) -> str
   remove_duplicate_lines(lines: list[str]) -> list[str]
   extract_title(html: str) -> str
   extract_useful_meta_sections(markdown: str) -> str

7. После правок выполнить проверку синтаксиса:

python -m py_compile run_exporter.py scripts/config_loader.py scripts/scrape_meta.py scripts/html_to_markdown.py scripts/markdown_writer.py

8. После проверки синтаксиса можно один раз запустить проект на текущей одной ссылке:

python run_exporter.py

9. После запуска показать:

- первые 120 строк output/ФП SberGeo.СНЛ - META.md
- количество строк в Markdown:
  wc -l "output/ФП SberGeo.СНЛ - META.md"
- список файлов:
  find output -type f -maxdepth 1 -print
  find temp_html -type f -maxdepth 1 -print

Формат ответа:

# Улучшение качества Markdown META

## 1. Что было до правки

## 2. Что изменено в html_to_markdown.py

## 3. Какие строки/шум теперь удаляются

## 4. Какие разделы META сохраняются

## 5. Результат py_compile

## 6. Результат тестового запуска

## 7. Первые 120 строк итогового Markdown

## 8. Вывод: достаточно ли результата для MVP