Подключите нашего Telegram-бота для уведомлений о новых проектах
Разработка серверного модуля для аналитики Telegram-чатов на основе JSON-файлов
Разместить заказ

p
Заказчик
Отзывы фрилансеров:
+ 1
- 0
Зарегистрирован на сайте 1 год и 10 месяцев
Бюджет:
9500 руб
115.43 $ — 101.40 €
Исполнитель определен:
Аркадий Зайцев
### **Описание задачи:**
Необходимо создать серверный модуль на 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.
Необходимо создать серверный модуль на 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]