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) |