PetengDedet / Whatsapp Analyzer
Licence: mit
Analyze Whatsapp chat
Stars: ✭ 117
Programming Languages
python
139335 projects - #7 most used programming language
Labels
Projects that are alternatives of or similar to Whatsapp Analyzer
Whatsapp Clone React Native
The goal of this project is to build an Whatsapp exactly like the original application, but using React Native & Redux | Firebase
Stars: ✭ 76 (-35.04%)
Mutual labels: whatsapp
Whatsappbot
Send messages to any person in any time how much you want.
Stars: ✭ 104 (-11.11%)
Mutual labels: whatsapp
Bomberthon
Best Bombing Tool with WhatsApp, Instagram, SMS bomber
Stars: ✭ 84 (-28.21%)
Mutual labels: whatsapp
React Share Button
📱 React share button component with web-share api and fallback modal with native intent urls
Stars: ✭ 89 (-23.93%)
Mutual labels: whatsapp
Wa Automate Nodejs
💬 🤖 The most advanced NodeJS WhatsApp library for chatbots with advanced features. Be sure to 🌟 this repository for updates!
Stars: ✭ 1,326 (+1033.33%)
Mutual labels: whatsapp
Picker
Picker - A CameraX based WhatsApp Style Image-Video Picker
Stars: ✭ 69 (-41.03%)
Mutual labels: whatsapp
Wasapbot
[abandoned ❗] Simple WhatsApp bot written in PHP, respond to private & group messages. Uses Chat-API
Stars: ✭ 89 (-23.93%)
Mutual labels: whatsapp
Insideheartz Whatsapp Bot
A multipurpose whatsapp bot buillt on node.js
Stars: ✭ 102 (-12.82%)
Mutual labels: whatsapp
Watomatic
Auto reply app helping you move away from less private messengers like WhatsApp and soon Facebook Messenger
Stars: ✭ 83 (-29.06%)
Mutual labels: whatsapp
Whatsapp Node Api
A Simple NodeJS API Wrapper for WhatsApp
Stars: ✭ 81 (-30.77%)
Mutual labels: whatsapp
Quickblox Javascript Sdk
JavaScript SDK of QuickBlox cloud backend platform
Stars: ✭ 98 (-16.24%)
Mutual labels: whatsapp
Crypt12 Decryptor
Tool for decrypting WhatsApp Crypt12 databases
Stars: ✭ 78 (-33.33%)
Mutual labels: whatsapp
Whatsappwebtogo
[android] WhatsApp Web client for your phone/tablet with media support
Stars: ✭ 70 (-40.17%)
Mutual labels: whatsapp
Whatsappapi
A simple API to integrate chatbots written in Javascript with WhatsApp Web 💬📲 (Store hotfix https://github.com/Zibri/WhatsAppWebApi/blob/master/zstore.js)
Stars: ✭ 94 (-19.66%)
Mutual labels: whatsapp
Whatsappviewpager
Swipeable tabs like WhatsApp in Android
Stars: ✭ 115 (-1.71%)
Mutual labels: whatsapp
Insta Chat
InstaChat offers a new way to read messages of your favourite messengers. It overlays every other app and you can reply from anywhere you want.
Stars: ✭ 111 (-5.13%)
Mutual labels: whatsapp
Tlimporter
Telegram Chat Importer: Import chats from WhatsApp or other services into Telegram
Stars: ✭ 100 (-14.53%)
Mutual labels: whatsapp
WhatsApp-Analyzer
Analyze Whatsapp chat
The script reads an exported whatsapp chat and then extracts the data. You may need to install some packages before run it.
Supported Analysis
- Chat Count
- Chat Avaerage
- Member/Sender Rank
- Website/URL/Link Domain Rank
- Word Count and Rank
- Most Used Word by Sender
- Emoji Usage Rank
- Most Used Emoji by Sender
- Timestamp Heatmap
- Attachment Classification (In Android, there is no difference pattern for attachment. But in iOS we can actually classify between Image, Video, Audio, GIF, Sticker, Document, and Contact Card)
Preview
- Sender Rank
- Domain rank
- Word Rank
- Most used word by sender
- Emoji rank
- Most used emoji by sender
- Chat activity heatmap
Requirements
- Python 3.6+
pip install -r requirements.txt
Usage
$ git clone https://github.com/PetengDedet/WhatsApp-Analyzer.git
$ cd WhatsApp-Analyzer
$ python whatsapp_analyzer.py chat_example.txt --stopword indonesian
usage: python whatsapp_analyzer.py FILE [-h] [-d] [-s] [-c]
Read and analyze whatsapp chat
positional arguments:
FILE Chat file path
optional arguments:
-h, --help show this help message and exit
-d, --debug Debug mode. Shows details for every parsed line.
-s , --stopword Stop Words: A stop word is a commonly used word (such
as 'the', 'a', 'an', 'in'). In order to get insightful
most common word mentioned in the chat, we need to
skip these type of word. The Allowed values are:
arabic, bulgarian, catalan, czech, danish, dutch,
english, finnish, french, german, hebrew, hindi,
hungarian, indonesian, italian, malaysian, norwegian,
polish, portuguese, romanian, russian, slovak,
spanish, swedish, turkish, ukrainian, vietnamese
-c , --customstopword
Custom Stop Words. File path to stop word. File must a
raw text. One word for every line
Stop Words
I include stop words for saveral languages from https://github.com/Alir3z4/stop-words.
You can use your own stop word file.
Just use -c
argument followed by filepath.
One word for each file like below
able
ableabout
about
above
abroad
abst
Notes
- This script use regex to extract the data.
- Currently support below chat pattern:
"14/10/18, 11:16 - Contact Name: this is a message"
"2/30/18, 2:07 AM - Contact Name: Test👌"
"[30/12/18 4.59.25 PM] Nama User: 🙏test"
"[06/07/17 13.23.30] +62 123-456-78910: image omitted"
- Some date format may not supported
Flowchart
Describe how the script identify and classify the chat
+------------------+
+----+ Empty line? +----+
| +------------------+ |
| |
| |
+---v---+ +----v---+
| Yes | +-----------------+ No |
+-------+ | +---+----+
| |
+---------+-+ +-----v-----+
| Event Log | +----+ Chat +----+
+-----------+ | +-----------+ |
| |
+------v-----+ +-----v------+ +--------------------+
+-----+Regular Chat+----+ | Attachment +-->+ Clasify Attachment |
| +------------+ | +------------+ +-------+------------+
v v |
+---------+---------+ +---------+----------+ |
| Starting Line | | Following Line | |
+------+------------+ +-+------------------+ |
| | |
| | |
| +------v-------+ |
| | COUNTER | |
| | 1 Chat | |
+---------->+ 2 Timestamp +<----------------------------+
| 3 Sender |
| 4 Domain |
| 5 Words |
| 6 Attachment |
| 7 Emoji |
+-----+--------+
|
|
|
v
+----------+----------------+
| Visualize |
+---------------------------+
Getting chat source
Android:
- Open a chat/group chat
- Tap on trhee dots oh the top right
- Tap "More"
- Choose "Export chat"
- Choose "Without Media"
iOS
- Open a chat/group chat
- Tap on contact name/group name on the top to see the details
- Scroll down to find "Export Chat" menu
- Choose "Without Media"
Other Tech Port
- Web: Coming soon
- Jupyter Notebook: Coming soon
- NodeJS: Coming soon
Help Needed
- Need contributor to rearrange directory structure to match python best practice.
- iOS exported example needed
Buy me a coffee
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].