One day I noticed my a peculiar thing about my Instagram network. My following list was increasing once in a while, but the followers weren't increasing as fast. I, being curious, wanted to find out how many of my followings were not reciprocating the friendship.
What it does
It scrapes your Instagram followings and followers' list and cross matches to find people who don't follow you back.
How we built it
It is created using Python, and uses Selenium to automate chrome browser with chromedriver. User has to download chromedriver for their specific chrome browser version and fill its path in DRIVER field in main.py field. Then fill their username and password in the USERNAME and PASSWORD field in main.py file. It opens Instagram website, logs in with the supplied username and password, navigates to profile page, opens followers' list and followings list. It then scrolls through the lists and scrapes the entries by usernames, cross matches and outputs the resulting list at the end.
Challenges we ran into
The main challenge might be that the followers'/followings list entries do not load at the same speed. It might load the first 20 entries in 1 second, but as the list grows, the loading speed increases as well. That is, loading the entries from 50 to 100 and from 500 to 550 are noticeably different. This challenge was overcome by adding a counter to increase wait time periodically. Depending on your internet speed, you could change the SPEED_FACTOR in the main.py file
Accomplishments that we're proud of
The varying list load speed was not noticed until I printed the final list count and it was significantly different from the count shown in profile. So, noticing and fixing that was a significant plus point, I guess. Not to mention, I took my baby steps in Selenium.
What's next for Instabot
I think it would be nice to extend browser support to edge and other major browsers. It can be done with a little bit of modifications, I suppose. I also think, implementing a GUI might make it more accessible.