import re def parse_comments(raw_text): # Разбиваем текст на отдельные комментарии по слову "Ответить" comment_blocks = raw_text.split("Ответить") results = [] for block in comment_blocks: # Извлекаем никнейм до времени (например, до "1 нед.") и текст после него user_match = re.search(r'([a-zA-Z0-9_]+)', block) text_match = re.search(r'([^\d]+?)\d+\sнед.', 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 # Добавляем только, если текст не пустой if text: 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)