from datetime import datetime from million.analyze.word_finder import findWords from million.parse.fb_exports import FacebookExportParser DATA_PATH = './data/' parser = FacebookExportParser() export = parser.parse(DATA_PATH) gros_mots = [ '.*merde.*', 'sexe', 'pute', 'pé?dé?', 'putain', 'bite', 'encul.*', 'cul', 'nichon', 'gueule', 'con(ne)?', 'chatte', 'niqu.*', 'chi(é|e).*', 'bais.*', 'couill.*' ] msg_gros_mots = findWords(export.messages, gros_mots) msg_gros_mots_grp = {} for msg in msg_gros_mots: if msg.sender_name not in msg_gros_mots_grp: msg_gros_mots_grp[msg.sender_name] = [] msg_gros_mots_grp[msg.sender_name].append(msg) for name in sorted(msg_gros_mots_grp, key = lambda k: len(msg_gros_mots_grp[k])): print(name) for msg in msg_gros_mots_grp[name]: time = datetime.fromtimestamp(msg.timestamp_ms / 1000) time_str = time.strftime("%d/%m/%Y %H:%M:%S") print(f"\t{time_str} : {msg.content}")