File size: 1,517 Bytes
21910df
 
09539e9
 
 
21910df
09539e9
 
 
 
 
 
 
 
 
 
 
 
 
21910df
09539e9
21910df
09539e9
 
21910df
09539e9
 
 
 
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
import re

def parse_comments(raw_text):
    # Разбиваем текст на отдельные комментарии по слову "Ответить"
    comment_blocks = raw_text.split("Ответить")
    
    results = []
    for block in comment_blocks:
        # Шаблон для извлечения ника, текста и количества лайков
        user_match = re.search(r'([\w\d@]+)(.*?)(\d+)?\sнед.', block)
        text_match = re.search(r'(.*?)(?=Нравится|Показать перевод|Скрыть ответы)', block)
        likes_match = re.search(r'Нравится:\s*(\d+)', block)
        
        if user_match and text_match:
            user = user_match.group(1)
            text = text_match.group(1).strip()
            likes = int(likes_match.group(1)) if likes_match else 0
            
            results.append({"Пользователь": user, "Текст": text, "Лайков": likes})
    
    return results

# Входные данные
raw_text = """alormusicgroupKeep going‼️‼️1 нед.Нравится: 1ОтветитьПоказать переводДействия с комментариемНравитсяСкрыть ответыjfk_4president@alormusicgroup  Big facts 🫡🫡🦾1 нед.ОтветитьПоказать переводДействия с комментариемНравится..."""

# Вывод
parsed_comments = parse_comments(raw_text)
for comment in parsed_comments:
    print(comment)