Заказчик
Отзывы фрилансеров:
+ 0
- 0
Зарегистрирован на сайте 1 год и 6 месяцев
88.17 $ — 83.10 €
Дедлайн: 23.12.2024
### **Описание задачи:**
Необходимо создать серверный модуль на Python с использованием **Flask**, который сможет обрабатывать JSON-файлы с историей чатов Telegram и предоставлять API для аналитики. Модуль будет интегрироваться в существующую систему. Сервер работает на **Ubuntu 22.04 LTS**.
**Основные функции:**
1. **Загрузка JSON-файлов:**
Возможность загружать один или несколько файлов с историей чатов.
Проверка корректности формата файлов и сохранение их на сервере.
2. **Аналитика текста:**
Подсчет общего количества сообщений.
Количество уникальных пользователей.
Определение самого активного пользователя.
Топ-10 самых часто используемых слов.
График активности сообщений (по дням и часам).
3. **Поиск сообщений:**
Поиск по ключевым словам или фразам.
Вывод сообщений, содержащих совпадения, с указанием:
Текста сообщения.
Пользователя, написавшего сообщение.
Даты и времени.
4. **Экспорт результатов:**
Скачивание результатов анализа в формате JSON или CSV.
**API-эндпоинты:**
- `POST /upload`: загрузка JSON-файлов.
- `GET /stats`: получение общей статистики.
- `GET /search`: поиск сообщений по ключевым словам.
- `GET /export`: экспорт аналитики в формате JSON или CSV.
---
### **Требования:**
1. **Технические детали:**
Использовать **Flask** для создания API.
Хранение файлов на сервере в локальной директории.
Работа с данными с помощью **Pandas**.
Поддержка обработки больших файлов (до нескольких миллионов сообщений).
2. **Среда выполнения:**
Приложение должно быть совместимо с **Ubuntu 22.04 LTS**.
3. **Интеграция:**
Модуль должен быть независимым, с возможностью интеграции в существующую систему через API.
4. **Документация:**
Инструкция по установке, настройке и использованию модуля.
Примеры запросов к API и ожидаемых ответов.
---
### **Результат:**
1. Серверный модуль на Python с API для аналитики Telegram-чатов.
2. Полностью работающий функционал:
Загрузка и хранение JSON-файлов.
Расчет общей статистики.
Поиск сообщений по ключевым словам.
Экспорт данных.
3. Документация с примерами API-запросов.
---
### **Пример использования API:**
#### **1. Загрузка файла:**
`POST /upload`
Параметры: JSON-файл с историей чата.
Ответ:
```json
{
"status": "success",
"message": "Файл успешно загружен",
"chat_id": "chat123"
}
```
#### **2. Получение статистики:**
`GET /stats?chat_id=chat123`
Ответ:
```json
{
"total_messages": 1500,
"unique_users": 20,
"most_active_user": "User1",
"top_words": [
{"word": "продажа", "count": 50},
{"word": "купить", "count": 45}
]
}
```
#### **3. Поиск сообщений:**
`GET /search?chat_id=chat123&keyword=продажа`
Ответ:
```json
{
"results": [
{
"message_id": 45,
"text": "Продажа авто сегодня!",
"user": "User2",
"date": "2024-11-28T15:30:00"
},
{
"message_id": 80,
"text": "Обсуждаем продажу дома.",
"user": "User3",
"date": "2024-11-28T16:00:00"
}
]
}
```
#### **4. Экспорт аналитики:**
`GET /export?chat_id=chat123&format=csv`
Ответ: Скачивание CSV-файла с аналитикой.
---
### **Примечания:**
1. Формат JSON-файлов с историей чатов должен содержать поля: `message_id`, `text`, `user`, `date`.
2. Модуль должен быть устойчивым к ошибкам (например, некорректный формат файла, отсутствие данных).
3. Исполнитель должен обосновать архитектуру решения и предложить способы оптимизации работы с большими файлами.
**Важно:** Укажите в предложении, есть ли опыт работы с Flask и обработкой данных на Python.
Разделы:
Заказ
Опубликован:
28.11.2024 | 17:03 [поднят: 28.11.2024 | 17:03]