从代码中管理google警报的抽象

google-alerts的Python项目详细描述


https://readthedocs.org/projects/google-alerts/badge/?version=latesthttps://badge.fury.io/py/google-alerts.svghttps://img.shields.io/badge/License-MIT-yellow.svg

google alerts的python模块为google alerts服务提供了一个抽象接口。google没有为这个服务提供官方api,所以交互是通过web脚本完成的。

警告:您的帐户密码将被混淆并保存在文件系统中。此外,身份验证后,还将保存会话cookie。这些东西可能会被偷走,并被重新用于危害您的帐户。作为最佳实践,请注册新电子邮件以管理警报。

有关库的详细说明,请参见wiki

快速启动

安装库

pip install google-alertspython setup.py install

保存配置

google-alerts setup --email <your.mail@foo.com> --password 'password'

seed您的会话(驱动程序下载,http://chromedriver.chromium.org/downloads,不要使用pip包,因为版本是旧的)

google-alerts seed --driver /tmp/chromedriver --timeout 60

创建监视器

google-alerts create --term "hello world" --delivery 'rss' --frequency 'realtime'

列表监视器

google-alerts list

删除监视器

google-alerts delete --id '89e517961a3148c7:c395b7d271b4eccc:com:en:US'

示例代码

此示例代码显示模块中的一些功能范围:

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")

示例输出

下面是监视器示例:

[{
    "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"
}]

功能

  • 添加新监视器(RSS或邮件)
  • 修改现有监视器
  • 按id或term删除监视器
  • 列出所有带有详细信息的监视器

更改日志

07-15-19

  • 错误修复:处理异常定义中的问题
  • 错误修复:如果未提供,请使用默认选项提供警报频率

07-14-19

  • 更改:包装状态解析函数并使它们在失败时引发异常
  • 错误修复:由谷歌推送的状态更改帐户,中断所有处理

05-23-19

  • 功能:添加新的命令行参数以允许用户指定种子超时时间

11-11-18

  • 功能:添加新的命令行参数,以便通过浏览器为会话设定种子
  • 更改:还将python版本检测添加到管理脚本中

10-13-18

  • 功能:在安装过程中检测用户何时在python版本之间进行更改
  • 错误修复:安装过程似乎最终没有错误,请拧Python2支持

07-10-18

  • 功能:添加了在创建警报时设置频率的功能
  • 错误修复:使用邮件传递方法时的固定频率设置

05-30-18

  • 更改:显式检测何时抛出验证码

05-28-18

  • 功能:利用类内部的配置文件概念
  • 功能:如果会话文件可用,则使用该文件对用户进行身份验证
  • 更改:告诉chrome避免使用javascript,这样我们就得到了旧表单

05-25-18

  • 更改:向所有呼叫添加标题,使其看起来不像机器人
  • 错误修复:在检查页面中的表单时包装了一个问题区域
  • 错误修复:已处理python3的安装错误

04-29-18

  • 功能:允许用户设置精确匹配查询
  • 更改:增加了对python3的支持
  • 错误修复:删除了导致解密过程出错的额外调用

04-26-18

  • 功能:在代码中添加了一个命令行实用程序,以便于测试
  • 错误修复:删除例程内部的删除错误

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Maven中两个不同项目中的java循环依赖关系   java如何在没有php的情况下从MYSQL在线数据库Android中存储和检索图像   Java JTextField和非静态变量不能从静态上下文中引用   java在JavaFX中的后台交换多个fxml页面   java的历史介于1824年和1824年之间,if语句   按下后退按钮时,java是否返回到正确的活动?   java如何从LDAP对象及其属性中删除objectClass?   java如何颠倒字符数组从最后一个到第一个的顺序   java IBMiee双精度浮点字节转换   用于执行java桌面应用程序的部署可运行jar或bat文件   java Android日历视图设置颜色,没有不推荐的方法   java Lucene:多词短语的模糊搜索   编译java代码如何编译   陈旧元素Selenium和Java的JSON状态映射   java如何将我的cardview和滑块与滚动页面一起使用?   javajena&RDF如何获取具有特定属性的所有资源   java Android:在Pause()上保存对象,在Resume()上读取对象   java计划一个“命名”任务,这样我就可以重新安排它   java如何将字符串的长度打印到文件中   从ftp服务器下载java Android照片