Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Logging in to google using python?

I am fairly new to web programing but for the sake of it, I am trying to login to google account not using standard code but as a python application, but it is impossible to do so has anyone tried to this before? can anyone help?

like image 579
Mir Khashkhash Avatar asked Jul 19 '11 22:07

Mir Khashkhash


People also ask

Can I use Python to log into a website?

The process of logging into websites using Python is quite easy, however the setup of websites are not the same therefore some sites would prove more difficult to log into than others. There is more that can be done to overcome whatever login challenges you have.


2 Answers

I made a python class that handle google login and the is able to get any google service page that requires the user to be logged in:

class SessionGoogle:
    def __init__(self, url_login, url_auth, login, pwd):
        self.ses = requests.session()
        login_html = self.ses.get(url_login)
        soup_login = BeautifulSoup(login_html.content).find('form').find_all('input')
        my_dict = {}
        for u in soup_login:
            if u.has_attr('value'):
                my_dict[u['name']] = u['value']
        # override the inputs without login and pwd:
        my_dict['Email'] = login
        my_dict['Passwd'] = pwd
        self.ses.post(url_auth, data=my_dict)

    def get(self, URL):
        return self.ses.get(URL).text

The idea is to go to the login page GALX hidden input value and send it back to google + login and password. It requires modules requests and beautifulSoup

Example of use:

url_login = "https://accounts.google.com/ServiceLogin"
url_auth = "https://accounts.google.com/ServiceLoginAuth"
session = SessionGoogle(url_login, url_auth, "myGoogleLogin", "myPassword")
print session.get("http://plus.google.com")

Hope this helps

like image 177
alexislg Avatar answered Nov 04 '22 07:11

alexislg


Although probably not exactly what you were looking for here I found some code from a similar post that did run from me.


import urllib2

def get_unread_msgs(user, passwd): auth_handler = urllib2.HTTPBasicAuthHandler() auth_handler.add_password( realm='New mail feed', uri='https://mail.google.com', user='%[email protected]' % user, passwd=passwd ) opener = urllib2.build_opener(auth_handler) urllib2.install_opener(opener) feed = urllib2.urlopen('https://mail.google.com/mail/feed/atom') return feed.read()

print get_unread_msgs("put-username-here","put-password-here")

reference:
How to auto log into gmail atom feed with Python?

like image 1
dkroy Avatar answered Nov 04 '22 08:11

dkroy