Я работаю над прототипом приложения электронной почты. Мне нужно получить доступ к моей личной учетной записи gmail в коде приложения python для моего приложения. Я знаю, что, возможно, я смогу выполнить это с помощью API Google, но я подумал, что для меня было бы хорошей практикой попытаться получить доступ непосредственно через стандартный пользовательский интерфейс. Я изложил те шаги, которые, как мне кажется, вовлечены в этот процесс, и я хотел бы получить вклад как в структуру, которую я предлагаю на этапах, так и как реализовать на python.доступ к учетной записи google через python
ШАГ 1: Открыть URL для входа в Gmail
- А именно: https://accounts.google.com/ServiceLogin
Этот шаг довольно легко:
page=urllib2.urlopen("https://accounts.google.com/ServiceLogin")
ШАГ 2: отправить сообщение запрос на любую страницу на страницу, которая проверяет подлинность Войти
- От HTML выглядит страница аутентификации на https://accounts.google.com/ServiceLoginAuth
- Я также был в состоянии проверить, что вход обрабатываются форма (названный gaia_loginform)
- Пары ключевые вопросы на этом этапе:
- Как я могу отправить запрос на отправку через urllib? Я полагаю, что urlopen обрабатывает только запросы?
- Как сохранить файлы cookie, скрытые формы и т. Д. На странице входа, которые необходимы для аутентификации, и включить их в мой запрос на получение?
Как я думаю подробнее об этом, я задаюсь вопросом, приближаюсь ли я к нему правильным путем. В принципе, все, что я хочу, чтобы компьютер сделал, это перейти на страницу входа в систему, ввести данные для входа и нажать кнопку отправки. В excel вы можете выполнить это, записав макрос. Вы могли представить себе, что сервер буквально перешел в веб-браузер, набрав адрес страницы, заполнив информацию и нажав кнопку «Отправить». Если бы здесь было эквивалентное решение, кажется, что это было бы намного проще, чем воссоздать весь процесс с помощью команд urllib. Надеюсь, что выше рассуждений имеет смысл. Цените свои мысли.
Evan
«Я думал, что для меня будет хорошей практикой попробовать получить доступ прямо через стандартный пользовательский интерфейс». О, это высокий порядок! Даже если вам удастся это сделать, код, вероятно, будет довольно хрупким. Для чего это стоит, я думаю, вы должны просто использовать IMAP. –
В конце следующего вашего первоначального плана ознакомьтесь с [mechanize] (http://wwwsearch.sourceforge.net/mechanize/) и [Selenium] (http://seleniumhq.org/). –