Get notified by email whenever a Facebook page adds a new event.
ihatefacebok is a Python script that allows you to get notified by email whenever a Facebook page adds a new event,
without having to interact with Facebook yourself. The script runs by default every time your machine starts up
(after login), but you can also set it up with the
run command as a
cron job. Currently supports macOS only.
$ pip install ihatefacebook
$ ihatefacebook COMMAND [OPTION] [ARGS]... Options: --help Show this message and exit. Commands: config Add or list email and SMTP server configurations page Add, remove or list pages to be scraped for events run Run scraping utility with currently set configurations and pages
$ ihatefacebook config OPTION [ARGS] Add or list email and SMTP server configurations Options: -a, --add key=value Add user.email, smtp.host, smtp.port configurations, with the format key=val -p, --password Set password for the user.email added using the -a option -l, --list List currently set configurations --help Show this message and exit.
$ ihatefacebook page OPTION [ARGS] Add, remove or list pages to be scraped for events Options: -a, --add PAGE_ID Add a page to the list of pages to be scraped, using its Facebook page ID -r, --remove PAGE_ID Remove a page using its Facebook page ID -l, --list List all pages from the list of pages to be scraped --help Show this message and exit.
pip installs needed dependencies but you'll need to have these on your machine as well:
- Google Chrome
- ChromeDriver, make sure it's the version corresponding to that of the browser,
and have it located in
- The scraping code could break anytime Facebook change their DOM, if you notice this before I update the code, please let me know.
- If you're using Gmail as your SMTP server, you'll need to turn on less secure app access.
- The script uses launchd
on macOS for launching every time your machine starts up,
launchdand adds needed configuration at installation. However, you wanna check the status of the script in
launchdto make sure it'll work properly. This can be done using
launchctl list | grep ihatefacebook(or use LaunchControl), 0 means OK. Check
~/Library/Logs/com.hot3eed.ihatefacebook/log.error(or use Console) for debugging. All this hard manual labor could be automated in a future update.
- Add Linux support.
- Add Windows support.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.