Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

find_gromots.py 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from datetime import datetime
  2. from million.analyze.word_finder import findWords
  3. from million.parse.fb_exports import FacebookExportParser
  4. DATA_PATH = './data/'
  5. parser = FacebookExportParser()
  6. export = parser.parse(DATA_PATH)
  7. gros_mots = [
  8. '.*merde.*',
  9. 'sexe',
  10. 'pute',
  11. 'pé?dé?',
  12. 'putain',
  13. 'bite',
  14. 'encul.*',
  15. 'cul',
  16. 'nichon',
  17. 'gueule',
  18. 'con(ne)?',
  19. 'chatte',
  20. 'niqu.*',
  21. 'chi(é|e).*',
  22. 'bais.*',
  23. 'couill.*',
  24. 'conna(rd|sse)',
  25. 'pti?n'
  26. ]
  27. msg_gros_mots = findWords(export.messages, gros_mots)
  28. msg_gros_mots_grp = {}
  29. for msg in msg_gros_mots:
  30. if msg.sender_name not in msg_gros_mots_grp: msg_gros_mots_grp[msg.sender_name] = []
  31. msg_gros_mots_grp[msg.sender_name].append(msg)
  32. for name in sorted(msg_gros_mots_grp, key = lambda k: len(msg_gros_mots_grp[k])):
  33. print(name)
  34. for msg in msg_gros_mots_grp[name]:
  35. time = datetime.fromtimestamp(msg.timestamp_ms / 1000)
  36. time_str = time.strftime("%d/%m/%Y %H:%M:%S")
  37. print(f"\t{time_str} : {msg.content}")