Skip to content

Latest commit

 

History

History
40 lines (27 loc) · 1.63 KB

README.md

File metadata and controls

40 lines (27 loc) · 1.63 KB

Analysing WhatsApp messages with AWS

The first step is to export your WhatsApp messages. I just downloaded a text file without media attachements, but you could put them in an S3 bucket or something if you wanted to.

pyWhatsAppLog

A Python3 class to parse and analyse WhatsApp logs

Use with

from whatsapplog import WhatsAppLog

parser = WhatsAppLog(source)
parser.parse()

The source can either be a filepath or a raw string. parser.parsed is True after a parse() has succeeded.

parser.filter(criteria) returns a filtered list of messages. The filters are named arguments and take the form...

  • DateTime beforedatetime: Any message sent on or before this date/time will be returned
  • DateTime afterdatetime: Any message sent on or after this date/time will be returned
  • String sendercontains: Returns any message where the sender name contains this string.
  • String textcontains: Returns any message where the message text contains this string.

So examples might be...

results = parser.filter(beforedatetime = datetime(2018, 1, 31, 17, 0), afterdatetime = datetime(2018, 1, 1, 9, 0))
# returns all messages sent between 9am on 1 January 2018 and 5pm on 31 January 2018

results = parser.filter(sendercontains = "Jim")
# returns all messages where the sender name contains "Jim" - so will include Jim, Jimmy, Jimbo etc

results = parser.filter(textcontains = "dog")
# returns all messages containing the word "dog"

results = parser.filter(textcontains = "birthday", sendercontains = "Queen", afterdatetime = datetime(2019, 6, 13, 0, 0))
# returns all messages the Queen might have sent you about her birthday after it happened