2016-12-27 9 views
1

Прежде чем начать: я уже видел Log into Google account using Python?, но я не чувствую, что он полностью адресует мою проблему.Python Войдите в Google, используя urllib

Хорошо, я не знаю, как лучше хорошо слово мое anwser, потому что проблема на самом деле довольно сложно ...

Сценарий:
Я занимаюсь разработкой приложений питона, и на одном этапе должен очень быстро попытаться войти в Google, используя urllib. Было бы непросто представить форму только как обычно, но проблема (весьма вероятно) возникает, если пользователь уже зарегистрировался в Google на этом компьютере, то вместо обычных текстовых полей, которые они видят, они получают небольшую форму, на которую они могут щелкнуть, чтобы выбрать свою учетную запись. Я покажу вам, что я имею в виду. The choose account page

Вместо этого я хочу, чтобы быть уверенным, что появляется будет нормально Войти страница: enter image description here

Возможные решения: (как бы я реализовать эти) 1) При запросе на сайт, есть какой-то «режим icongito», как вы видите в веб-браузерах. Если вы запустите в режиме Icongito, то Google не покажет учетные записи, к которым вы уже вошли. 2) Через прокси-сервер, но тогда Google может быть подозрительным.

Итак, этот пост был довольно длинным, но если кто-то может дать мне решение, тогда было бы здорово. Чтобы завершить: я хочу получить доступ к Google через Python для входа в систему, но я не хочу, чтобы Google показывал существующие учетные записи.

EDIT: Пример кода:

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

Не могли бы вы привести пример вашего кода и некоторое представление о том, что вы пробовали? Кроме того, в какой среде вы работаете, вызываете ли вы это через браузер? Вы пробовали очистить куки? И прочитали ли вы документы Google API? Я подозреваю, что у них может быть флаг или опция в API входа в систему, чтобы точно обрабатывать то, что вы пытаетесь. –

+0

Интересная вещь, о которой вы говорили о Google API, есть ли какая-либо оболочка для Python? – Octo

+0

Абсолютно. Google _loves_ Python, и есть библиотеки для всего, что вы можете сделать с Google. –

ответ

1

[UPDATE] Если вы не нашли его еще, я высоко рекомендую вам посмотреть на это:

https://developers.google.com/api-client-library/python/

Я хотел бы предложить первый пробыв некоторое время рытья через их собственную документацию API:

https://developers.google.com/

Это помогло бы ответить на ваш вопрос с какой-то идеей платформы вы работаете в этом на. Я подозреваю, что у вас не возникла проблема с машиной, которая вошла в систему раньше, но просто, что вы не очищаете файлы cookie от предыдущих учетных записей.

 Смежные вопросы

  • Нет связанных вопросов^_^