-`api`: FastAPI, REST API, HTML-админка, MCP endpoint и healthcheck.
-`worker`: weekly scheduler, который запускает парсинг по `CRAWL_CRON`.
-`postgres`: основная БД.
Парсер использует фиксированный источник сотрудников, по умолчанию `https://miem.hse.ru/persons`. Для каждой карточки сохраняются ФИО, должности, год начала работы, контакты, идентификаторы, вкладки профиля, секции, публикации, курсы, ВКР, новости, JSON-снапшот и сжатый HTML-снапшот. Детальные публикации дополнительно нормализуются в отдельную таблицу `employee_publications`, а новости из блока «В новостях» — в `employee_news_links`. Ссылки обходятся только из меню профиля самого сотрудника (`person-menu`), например `#sci`, `#teaching`, `#main`.
@@ -21,6 +22,7 @@ cp .env.example .env
-`DATABASE_URL`: строка подключения SQLAlchemy.
-`SOURCE_URL`: список сотрудников МИЭМ.
-`CRAWL_CRON`: расписание в формате crontab, по умолчанию `0 3 * * 1`.
-`CRAWL_LIMIT`: опциональный лимит профилей для тестового запуска.
-`ADMIN_USERNAME`, `ADMIN_PASSWORD`: логин и пароль админки.
-`SESSION_SECRET`: секрет подписи cookie.
@@ -80,7 +82,7 @@ docker compose up -d --build --remove-orphans
## Парсинг
Ручной запуск доступен в админке на `Dashboard` и странице `Runs` или через REST:
Worker запускает обход по `CRAWL_CRON`. Ручной запуск также доступен в админке на `Dashboard` и странице `Runs` или через REST:
```bash
curl -X POST http://localhost:8000/api/crawl-runs --cookie "miem_admin_session=..."
description="MIEM employees parser, admin API, and MCP server"
requires-python=">=3.11"
dependencies=[
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.