2016-12-27 111 views
1

在我开始之前:我已经看到Log into Google account using Python?但我不觉得它完全支持我的问题。Python使用urllib登录Google

好吧,我不知道如何以最佳方式以及词我anwser因为这个问题其实是相当复杂的...

场景:
我开发Python应用程序,并在某一阶段必须非常快地尝试使用urllib登录到谷歌。通常情况下提交表单并不难,但(很有可能)问题出现,如果他们的用户已经登录到这台电脑上的谷歌,而不是他们看到的正常文本框,他们得到他们可以点击的小表格来选择他们的帐户。我会告诉你我的意思。 The choose account page

相反,我要确保这似乎将是正常的登录页面: enter image description here

可能的解决方案:(我将如何实现这些) 1)当请求的网站,有某种“icongito模式”就像您在网页浏览器中看到的一样。如果您在Icongito模式下启动,则Google不会显示您已登录的帐户。 2)通过代理,但然后谷歌可能会标记为可疑。

所以,这篇文章是相当长的,但如果有人能给我一个解决方案,那就太好了。总结:我想通过Python访问谷歌登录,但我不想谷歌显示现有的帐户。

编辑: 示例代码:

from bs4 import BeautifulSoup 
import requests 


form_data={'Email': '****@gmail..com', 'Passwd': '******'} 
post = "https://accounts.google.com/" 

with requests.Session() as s: 
    data = BeautifulSoup(s.get("https://mail.google.com").text) 
    for inp in data.select("#gaia_loginform input[name]"): 
     if inp["name"] not in form_data: 
      form_data[inp["name"]] = inp["value"] 
    s.post(post, form_data) 
    html = s.get("https://mail.google.com/mail/u/0/#inbox").content 
+0

你能给我们一个你的代码的例子,以及你已经尝试过的一些想法吗?此外,你在什么环境下工作,你是否通过浏览器调用它?您是否尝试清除Cookie?并且您是否阅读了Google API Docs?我会怀疑他们可能在登录API中有一个标志或选项来处理你正在尝试的东西。 –

+0

您对Google API说过很有趣的事情,Python是否有包装? – Octo

+0

绝对。 Google _loves_ Python,并且提供了关于Google可以使用的任何内容的库。 –

回答