2016-06-23 3 views
0

나는 gmail.com을 스크랩하려고하는데 기계화를 사용하여 인증을하지만 Gmail에 2 단계 인증이 있기 때문에 매우 까다 롭지 만 로그인 할 수는 있지만 문제는 발생합니다.기계화 사용하기 Gmail에 로그인하려면

/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7/사용자/vivekrahul/PycharmProjects/제목/샘플 : 내 코드는 다음과 같이 내 출력이 보이는

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 

입니다. py 성공 안녕

안녕 로딩 [email protected] 로딩 표준보기 | (연결 속도가 느린 경우) 평상시보다 오래 걸립니다. 페이지를 다시로드 해보십시오. 문제가 해결되지 않으면 다음을 수행 할 수 있습니다. 실험실을 사용 중지하고 다시 시도하십시오. 연결 속도가 느린 경우 시도해보십시오. 문제 해결 도움말을 더 보려면 도움말 센터를 방문하십시오. 하이 로드 [email protected] 하이 로드 [email protected] 하이

하이

하이 로드 표준보기 | (느린 연결의 경우) 안녕 평상시보다 오래 걸립니다. 페이지를 다시로드 해보십시오. 문제가 해결되지 않으면 다음을 수행 할 수 있습니다. 실험실을 사용 중지하고 다시 시도하십시오. 연결 속도가 느린 경우 시도해보십시오. 문제 해결 도움말을 더 보려면 도움말 센터를 방문하십시오. 안녕 그래도 작동하지 않으면 다음을 수행 할 수 있습니다. 실험실을 사용 중지하고 다시 시도하십시오. 연결 속도가 느린 경우 시도해보십시오. 문제 해결 도움말을 더 보려면 도움말 센터를 방문하십시오. 아래 그림과 같이 하이

프로세스 종료 코드 완료 0

+0

본질적으로 무엇을 얻으려고합니까? Javascript가 관련되어 있기 때문에 브라우저에서 볼 수있는 것을 기계화로 얻으려고한다면 그렇게하십시오. –

답변

0

로그인 후에는 Gmail의 기본 HTML보기로 리디렉션됩니다, 기본 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') 
관련 문제