The google-alerts Python module provides an abstract interface for the Google Alerts service. Google does not provide an official API for this service, so interactions are done through web scripting.
Install the library:
pip install google-alerts
or python setup.py install
Save your configuration:
google-alerts setup --email <your.mail@foo.com> --password 'password'
Create a monitor:
google-alerts create --term "hello world" --delivery 'rss' --frequency 'realtime'
List monitors:
google-alerts list
Delete a monitor:
google-alerts delete --id '89e517961a3148c7:c395b7d271b4eccc:com:en:US'
This sample code shows some of the range of functionality within the module:
from google_alerts import GoogleAlerts # Create an instance ga = GoogleAlerts('your.email@gmail.com', '**password**') # Authenticate your user ga.authenticate() # List configured monitors ga.list() # Add a new monitor ga.create("Hello World", {'delivery': 'RSS'}) # Modify an existing monitor ga.modify("89e517961a3148c7:c395b7d271b4eccc:com:en:US", {'delivery': 'RSS', 'monitor_match': 'ALL'}) # Delete a monitor ga.delete("89e517961a3148c7:c395b7d271b4eccc:com:en:US")
Below is an example monitor:
[{ "term": "hello world", "user_id": "09738342945634096720", "language": "en", "monitor_id": "89e517961a3148c7:c395b7d271b4eccc:com:en:US", "region": "US", "rss_link": "https://google.com/alerts/feeds/09738342945634096720/9663349274289663466", "delivery": "RSS", "match_type": "BEST" }]
- Add new monitors (RSS or Mail)
- Modify existing monitors
- Delete monitors by ID or term
- List all monitors with details
- Feature: Detect when user changes between Python versions during setup
- Bugfix: Setup process appears to finally be bug-free, screw python2 support
- Feature: Added the ability to set the frequency when creating alerts
- Bugfix: Fixed frequency settings when using the mail delivery method
- Change: Explicitly detect when a CAPTCHA is being thrown
- Feature: Take advantage of the config file concept inside of the class
- Feature: Authenticate users with a session file if it's available
- Change: Tell Chrome to avoid using Javascript so we get the old form
- Change: Added headers to all calls to look like less of a bot
- Bugfix: Wrapped a problem area when inspecting the forms in a page
- Bugfix: Handled setup error for Python3
- Feature: Allow users to setup exact match queries
- Change: Added support for Python3
- Bugfix: Removed extra calls causing an error in the decrypt process
- Feature: Added a command line utility to the code for easy testing
- Bugfix: Removed clobbering error inside of delete routine