python - 通过 python 访问谷歌帐户

标签 python authentication urllib

我正在开发电子邮件应用程序的原型(prototype)。我需要在我的应用程序的 python 代码中访问我的个人 gmail 帐户才能执行此操作。我知道我可能可以使用 google API 来完成此操作,但我认为尝试通过标准用户界面直接访问对我来说是一种很好的做法。我已经概述了我认为在此过程中涉及的步骤,我很乐意输入我在步骤中提出的结构以及如何在 python 中实际实现。

第 1 步:打开用于登录 gmail 的 url

  1. 即:https://accounts.google.com/ServiceLogin
  2. 这一步相当简单:

    page=urllib2.urlopen("https://accounts.google.com/ServiceLogin")

第 2 步:向验证登录的任何页面提交发布请求

  1. 从 html 看来,身份验证页面位于 https://accounts.google.com/ServiceLoginAuth
  2. 我还能够验证登录是由一个表单(名为 gaia_loginform)处理的
  3. 此步骤中的几个关键问题:
  4. 如何通过 urllib 实际提交发布请求?我假设 urlopen 只处理 get 请求?
  5. 如何从登录页面保存身份验证所需的 cookie、隐藏的表单输入等,并将它们包含在我的获取请求中?

当我对此进行更多思考时,我想知道我是否以正确的方式处理它。原则上,我想让计算机做的就是进入登录页面,输入登录数据并单击提交按钮。在 excel 中,您可以通过录制宏来完成此操作。您可以设想服务器直接进入 Web 浏览器,输入页面地址,填写信息并单击提交。如果这里有一个等效的解决方案,它似乎比通过 urllib 命令重新创建整个过程要容易得多。希望以上推理是有道理的。欣赏你的想法。

埃文

最佳答案

Selenium 是一个 python 模块,您可以使用它来模拟您想要执行的操作。 它具有出色的仿真功能,并且 webdriver 实例(selenium 脚本将启动)可以执行普通浏览器执行的所有操作。

只是为了展示使用 selenium 是多么容易:-

 elem = driver.find_element_by_id('username').send_keys("USERNAME")

类似地,点击、提交、按类查找元素等命令使使用 selenium 变得非常容易。

注意:Selenium 在屏幕上打开网络驱动程序实例 (GUI),因此并不完全在幕后。如果您需要,您可能需要查看其他库,例如 mechanize。

祝一切顺利!

关于python - 通过 python 访问谷歌帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11285564/

相关文章:

django - Django中如何阻止登录成功后访问登录页面?

python - urllib 响应头丢失

python - 分类特征编码作为 Scikit-Learn 的枚举

python - 优化包含 8 个 for 循环的嵌套循环以最小化函数

Laravel 8 Sanctum SPA Auth - 未按要求设置 session 存储

c# - 身份验证/PrincipalPermission 不起作用

python-3.x - 如何使用带有 urllib 的 urlopen 修复 Python 3 中的 HTTP 错误

python - 使用 Beautiful Soup 在 python 中解析网页

python - 创建一个函数来对方程的结果求和。请看,没那么简单?

python - 我可以在另一个子类中引用一个子类吗?