- Clone the repository:
git clone https://github.com/hanchiang/instagram-content-finder.git
. Install git if it is not already installed - Put the instagram usernames in
input/input.txt
, one username per line. Createinput.txt
if it doesn't exist. - Make sure nodejs is installed
- Install project dependencies:
npm install
- Run
node index.js
- See the output in
output
. Each username has its own folder, with file name is the following format:{numFollowers}-{averageLikes}-{averageComments}-(YYYYMMDD-HHmmss)
- If page is private, skip
- If page has fewer than a certain number of posts, skip.
- Use number of likes as the metric for extracting viral posts. Optionally, comments can be used also.
Configurable
NUM_TO_SCRAPE
: Number of posts to scrapeNUM_TO_CALC_AVERAGE_ENGAGEMENT
: Number to posts to use for calculating the median engagement rate of a userVIRAL_THRESHOLD
: The fraction of engagement that must be greater than the median engagement in order for a post to be considered as viral. e.g.0.5 = (1 + 0.5) * median_engagement
MIN_FOLLOWER
: TBDMIN_POSTS
: TBD
- Viral posts by likes and comments separately?
- Get followers list
- display list of followers with more following than followers
- display list of followers who are inactive
- provide an option to unfollow
- Tests
- Refactor spaghetti code