File size: 2,394 Bytes
6e3f65c
674e2be
21910df
674e2be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21910df
674e2be
 
 
 
 
 
 
 
 
 
 
 
 
21910df
674e2be
 
 
 
 
21910df
674e2be
6e3f65c
895ca00
6e3f65c
895ca00
674e2be
 
 
 
6e3f65c
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import gradio as gr
import re

# Функция для обработки входного текста
def process_text(input_text, comment_count):
    # Печать входных данных для отладки
    print(f"Входные данные: {input_text}")
    print(f"Ожидаемое количество комментариев: {comment_count}")

    # Регулярное выражение для извлечения данных
    pattern = r"([a-zA-Z0-9_@]+(?:[a-zA-Z0-9_]+)?)\s*(.*?)\s*(?:Нравится:\s*(\d+))"

    # Проверка пустого ввода
    if not input_text.strip():
        return "Пожалуйста, введите текст."

    # Поиск всех совпадений в тексте
    matches = re.findall(pattern, input_text)
    
    # Печать найденных совпадений для отладки
    print(f"Найденные совпадения: {matches}")

    # Проверка наличия совпадений
    if not matches:
        return "Совпадения не найдены. Пожалуйста, проверьте ввод."

    # Проверка количества комментариев
    actual_comment_count = len(matches)
    if actual_comment_count != int(comment_count):
        return (f"Предупреждение: найдено {actual_comment_count} комментариев, "
                f"хотя указано {comment_count}.\n"
                "Пожалуйста, проверьте ввод.")

    # Формируем вывод
    output = []
    for i, match in enumerate(matches, 1):
        username, text, likes = match
        output.append(f'{i}. Пользователь: "{username}", Текст: "{text.strip()}", Лайков: {likes or 0}')

    return "\n".join(output)

# Настройка Gradio интерфейса
iface = gr.Interface(
    fn=process_text,
    inputs=[
        gr.Textbox(lines=10, placeholder="Введите текст сюда..."),       # Поле для текста комментариев
        gr.Number(label="Количество комментариев по данным Instagram")  # Поле для количества комментариев
    ],
    outputs=gr.Textbox(lines=10, placeholder="Результат...")
)

# Запуск интерфейса
iface.launch()