通过python访问Google帐户

时间:2012-07-01 20:55:09

标签: python authentication urllib

我正在研究电子邮件应用程序的原型。我需要在我的应用程序的python代码中访问我的个人Gmail帐户才能执行此操作。我知道我可以使用谷歌API完成这项工作,但我认为尝试直接通过标准用户界面访问是一种很好的做法。我已经概述了我认为在这个过程中涉及的步骤,我希望对我在步骤中提出的结构以及如何在python中实际实现进行输入。

第1步:打开网址登录gmail

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

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

  3. 第2步:将帖子请求提交到验证登录的页面的任何页面

    1. 从html看起来,身份验证页面位于https://accounts.google.com/ServiceLoginAuth
    2. 我还能够验证登录是由表单(名为gaia_loginform)
    3. 处理的
    4. 此步骤中的几个关键问题:
    5. 如何通过urllib实际提交帖子请求?我假设urlopen只处理获取请求?
    6. 如何从登录页面保存身份验证所需的Cookie,隐藏表单输入等,并将其包含在我的get请求中?
    7. 当我更多地考虑这个时,我想知道我是否正确地接近它。原则上,我想让计算机做的就是进入登录页面,输入登录数据并单击提交按钮。在excel中,您可以通过录制宏来实现此目的。您可以设想服务器真正进入Web浏览器,输入页面地址,填写信息并单击提交。如果这里有一个等效的解决方案,那么通过urllib命令重建整个过程会更容易。希望以上推理是有道理的。欣赏你的想法。

      埃文

1 个答案:

答案 0 :(得分:0)

Selenium是一个python模块,您可以使用它来模拟您想要做的事情。 它具有出色的仿真功能,而webdriver实例(selenium脚本将启动)可以完成普通浏览器所做的一切。

只是为了表明使用硒有多容易: -

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

类似地,click,submit,find_element_by_class等命令使得使用selenium非常容易。

注意: Selenium在屏幕上打开一个webdriver实例(GUI),因此,并非完全在幕后。如果您需要,可能需要查看其他库,如mechanize。

一切顺利!

相关问题