Package: google-alerts-v2
Thegoogle-alertsPython 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.WARNING:Your account password will be obfuscated and saved on the file system. Additionally, post-authentication, a session cookie will also be saved. These can be stolen and re-used to compromise your account. As a best practice, register a new email to manage alerts.For detailed explanations of the library, please see thewiki.Quick StartInstall the library:pip installgoogle-alertsorpython setup.py installInstall all dependencies from requirements:pip install-rrequirements.txtSave your configuration:google-alertssetup--email<your.mail@foo.com>--password'password'Seed your session (driver download, http://chromedriver.chromium.org/downloads, do NOT use the pip package as the version is old):google-alertsseed--driver/tmp/chromedriver--timeout60Create a monitor:google-alertscreate--term"hello world"--delivery'rss'--frequency'realtime'List monitors:google-alertslistDelete a monitor:google-alertsdelete--id'89e517961a3148c7:c395b7d271b4eccc:com:en:US'Sample CodeThis 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")Example OutputBelow 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"
}]FeaturesAdd new monitors (RSS or Mail)Modify existing monitorsDelete monitors by ID or termList all monitors with detailsChangelog05-09-20Bugfix: Adjusted the seeding process to use Stackoverflow in order to handle initial Google authentication to bypass bot checks11-20-19Change: Captured all results by default instead of best07-15-19Bugfix: Handle issues in exception definitionBugfix: Provide alert_frequency with a default option if not supplied07-14-19Change: Wrap state parsing functions and have them raise exception on failuresBugfix: Account for state changed pushed by Google, breaking all processing05-23-19Feature: Add a new command line argument to allow a user to specify a seed timeout time11-11-18Feature: Add a new command line argument to seed a session through the browserChange: Added python version detection to the manage script as well10-13-18Feature: Detect when user changes between Python versions during setupBugfix: Setup process appears to finally be bug-free, screw python2 support07-10-18Feature: Added the ability to set the frequency when creating alertsBugfix: Fixed frequency settings when using the mail delivery method05-30-18Change: Explicitly detect when a CAPTCHA is being thrown05-28-18Feature: Take advantage of the config file concept inside of the classFeature: Authenticate users with a session file if it’s availableChange: Tell Chrome to avoid using Javascript so we get the old form05-25-18Change: Added headers to all calls to look like less of a botBugfix: Wrapped a problem area when inspecting the forms in a pageBugfix: Handled setup error for Python304-29-18Feature: Allow users to setup exact match queriesChange: Added support for Python3Bugfix: Removed extra calls causing an error in the decrypt process04-26-18Feature: Added a command line utility to the code for easy testingBugfix: Removed clobbering error inside of delete routine