Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

find_gromots.py 934B

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