使用Python登录Google帐户进入网站

时间:2013-11-24 12:52:07

标签: python login oauth-2.0 google-account

我正在创建一个网站,其中列出了群组中的人数(来自www.codecamy.com)。

为实现这一目标,我提出了一项计划。

我将有一台服务器,每隔30秒轮询一次CodeCademy组页面(http://www.codecademy.com/groups),并从该HTML中检索所需的信息。

enter image description here

然后,当客户端连接到我的网站时,服务器将向客户端提供该信息,然后客户端将使用http://www.chartjs.org/docs/http://www.jqplot.com/根据该信息绘制图表。

enter image description here

然而,存在一个大问题。如果您点击了CodeCademy的任何链接,那么您意识到您需要有一个帐户才能真正看到该网站。这可以是Facebook帐户,谷歌帐户或推特帐户。

enter image description here

所以,简短的故事,如果我想访问包含有关组的信息的页面,我需要为我的服务器设置一个Bot帐户,我需要教我的服务器登录该帐户。

因此,我在gmail上创建了一个名为codecademybot的虚拟帐户,我希望我的服务器使用此帐户登录codecademy,以便它可以看到该页面的内容。

通过关注quickstart python tutorial that connects me to google+,我现在也有了与之交互的代码。

然而,尽管如此,我仍然没有关于如何与网站互动的最小想法。我有以下问题:

  1. 如何检测我是否登录了Google帐户?
  2. 如何将自己连接到该帐户,以便我可以访问该页面?
  3. 是否有登录该网站的特殊链接?
  4. 我很失落,并希望得到任何可能的帮助。

1 个答案:

答案 0 :(得分:4)

不要让所有代码示例和howto导致您误入歧途。它们适用于更复杂的情况。

  • 这不是oauth2授权,其oauth2身份验证
  • 您不是具有clientID和秘密的客户端。 Codecademy是具有clientID和秘密的客户端。您的codecademybot帐户只是用户。

这意味着您只需要自动化普通用户登录codecademy时所执行的操作。使用开发工具(IE开发工具,FireBug,无论如何)在浏览器中多次播放该交互,并查看HTTP请求的对话。

这是您希望效仿的内容。

从我所看到的,

我认为最后一点很有意思。如何使用浏览器手动登录,收听对话并将这两个cookie复制到自动代码中。看看它们是否足以作为身份验证令牌,并允许您从网站上获取数据。

如果没有,那么我热烈推荐@ CrisBee21的回答。我们希望pyCurl可以很好地模拟浏览器,为您进行对话。

还有一件事,当我浏览网站时,我看到一个REST api请求,即http://www.codecademy.com/api/v1/notifications/ userid / unread_count?authentication_token = 某个令牌 < / p>

浏览http://www.codecademy.com/api/v1/users/ userid /?authentication_token = 令牌 给了我更多关于我自己的信息

http://www.codecademy.com/api/v1/users/ userid / groups?authentication_token = 令牌为我提供了我所在的群组。

如果您有关于codecademy REST api的更多文档,您可以尝试从那里获取它。我找不到任何文件,正在进行中。