Rank your Facebook friends using the mysterious "InitialChatFriendsList"
Any form of bot scraping of user data is against Facebook TOS
For educational purposes only :)
please don't sue me
- run
python retrieveSource.py
for orpython retrieveSource.py --lookup
if you are using the old Facebook layout (Must have 2 Facebook accounts!) - Enter accounts as prompted
- run
python analysis.py
to see aggregate rank data and rank changes between days. Run the script over multiple days to get a clearer picture of rank.
- Python
- pip
- Webdriver for Chrome
- Selenium
- pandas
Many years of discussion have been had about the nature of "InitialChatFriendsList". Facebook's algorithm for it is under lock and key so the public will never know. What it is speculated to be based on is all kinds of interactions - Chat, Group Chat, Wall Posts, Comments, Likes, and most importantly Profile Visits (This list is non-exhaustive!)
Everything in the ranking is bi-directional so if you happen to visit someone's profile alot, they will shoot up the ranks. This isn't just who stalks you :)
Using analysis.py
you'll see on a day-by-day basis how ranks change. Positive increases imply activity - if you haven't done any interaction with the person, it is possible they have viewed your profile.
- New Layout
Selenium is used to lookup Chat Sidebar List Rankings. Ranks are written to a CSV file with today's date in the./logs/
folder - Old Layout
Selenium is used to open the second Facebook account first. This account is used to lookup users not available in the shortProfiles attribute. Your main account is then loaded and the InitialFriendsChatList is retrieved along with the shortProfiles. Ranks are written to a CSV file with today's date in the./logs/
folder by matching, in order, InitialFriendsChatList ids to the shortProfiles or looking up the user using the second account.
- read account(s) from JSON file
- persistent User tracking via local file to reduce lookups
- scheduling