boompack commited on
Commit
21910df
1 Parent(s): b116467

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -0
app.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import re
3
+
4
+ # Функция для обработки входного текста
5
+ def process_text(input_text):
6
+ # Печать входных данных для отладки
7
+ print(f"Входные данные: {input_text}")
8
+
9
+ # Регулярное выражение для извлечения данных
10
+ pattern = r"([a-zA-Z0-9_@]+)([^\n]*?)(?=\d{1,2}\sнед\.|\d{1,2}\sдн\.|$)" # Ищем текст до метки времени (нед. или дн.)
11
+
12
+ # Поиск всех совпадений в тексте
13
+ matches = re.findall(pattern, input_text)
14
+
15
+ # Печать найденных совпадений для отладки
16
+ print(f"Найденные совпадения: {matches}")
17
+
18
+ # Проверка наличия совпадений
19
+ if not matches:
20
+ return "Совпадения не найдены. Пожалуйста, проверьте ввод."
21
+
22
+ # Формируем вывод
23
+ output = []
24
+ for i, match in enumerate(matches, 1):
25
+ username = match[0].strip()
26
+ text = re.sub(r"Нравится: \d+|Ответить|Показать перевод|Действия с комментарием|Нравится|Скрыть ответы", "", match[1]).strip() # Удаляем лишние фразы
27
+ likes = re.search(r"Нравится: (\d+)", match[1])
28
+ like_count = likes.group(1) if likes else "0" # Если лайков нет, ставим 0
29
+ output.append(f'{i}. Пользователь: "{username}", Текст: "{text}", Лайков: {like_count}')
30
+
31
+ return "\n".join(output)
32
+
33
+ # Настройка Gradio интерфейса
34
+ iface = gr.Interface(
35
+ fn=process_text,
36
+ inputs=gr.Textbox(lines=10, placeholder="Введите текст сюда..."),
37
+ outputs=gr.Textbox(lines=10, placeholder="Результат...")
38
+ )
39
+
40
+ # Запуск интерфейса
41
+ iface.launch()