2016-06-23 111 views
0

我想要取消gmail.com並使用機械化進行身份驗證,但由於gmail有兩步驗證,這是相當棘手,但我設法登錄,但我面臨加載問題。 我的代碼是使用機械化登錄到gmail

from os import system 
import sys 
import speech_recognition as sr 
import pyaudio 
import urllib, urllib2 
from bs4 import BeautifulSoup, Comment 
import unicodedata 
import mechanize 
import cookielib 
import time 


cj = cookielib.CookieJar() 
br = mechanize.Browser() 
br.set_handle_robots(False) 
br.set_cookiejar(cj) 
br.open("https://www.gmail.com") 

br.select_form(nr=0) 
br.form.set_all_readonly(False) 
br.form['Email'] = '[email protected]' 

br.submit() 

br.select_form(nr=0) 
br.form['Passwd'] = '*******' 
br.submit() 

print"Success" 

soup = BeautifulSoup(br.response().read(),"html.parser") 

for row in soup.find_all('div'): 
    print "hi" 
    print row.text 

我的輸出如下所示:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /用戶/ vivekrahul/PycharmProjects /名字/樣品。 py 成功 hi

hi 正在加載[email protected] standard view | (用於慢速連接)這需要比平時更長的時間。請嘗試重新加載頁面。如果這不起作用,您可以:禁用實驗室並再試一次。如果您的連接速度較慢,請嘗試。有關更多故障排除提示,請訪問幫助中心。 喜 加載[email protected] 喜 加載[email protected]

喜 加載標準視圖| (用於慢速連接) hi 這比平時花費的時間更長。請嘗試重新加載頁面。如果這不起作用,您可以執行以下操作:禁用實驗室並重試。如果連接速度較慢,請嘗試。有關更多故障排除提示,請訪問幫助中心。 嗨 如果這不起作用,您可以:禁用實驗室並重試。如果連接速度較慢,請嘗試。有關更多故障排除提示,請訪問幫助中心。 喜

過程結束,退出代碼0

+0

你想要得到什麼?如果您試圖獲得您在瀏覽器中看到的機械化不會發生的情況,那麼就會涉及Javascript。 –

回答

0

登錄後提交基本HTML視圖形式,如下所示,將很重定向到Gmail的基本HTML視圖。

GMAIL_URL = 'https://mail.google.com/mail/u/0/' 

    soup = BeautifulSoup(br.response().read(),"html.parser") 
    form = soup.find("form") 
    action = form.get('action') 
    post_url = GMAIL_URL + action 
    g_html = self.session.get(post_url) 
    gmail_doc = BeautifulSoup(g_html.text, 'html.parser')