web scraping - Python: Logging into website with python using GET request -


i'm using python 3.4.3 , i'm trying login okcupid using requests.

the page code returns initial login page, not page user see after logging in. have tried looking @ several answers on here , other tutorials , of them direct me inspect developer tab , @ requests method "post", not see such requests.

instead, see "get" requests , i'm unsure how requests handle those. have tried number of different approaches, none worked. here simpler code have:

import requests bs4 import beautifulsoup  user='username' pw='password' url='http://www.okcupid.com/login'  session=requests.session()  values = {'login_username':user, 'login_password':pw} r = session.post(url,data=values) soup = beautifulsoup(r.content) psoup = beautifulsoup.prettify(soup)  print(soup.title.string) 

i able figure out. in case helpful in future: there 2 things preventing previous code working:

  1. i needed specify 'https' instead of 'http' in url.
  2. i missing 'okc_api' value in values vector. hadn't detected because chrome's developer tools did not have "preserve log" checked. result, chrome erasing login "post" request before @ "form data" values.

here revised code:

import requests bs4 import beautifulsoup  user='username' pw='password' url='https://www.okcupid.com/login'  session=requests.session()  values = {'username': user, 'password': pw, 'okc_api': '1'} session.post(url, data=values) page = session.get('http://www.okcupid.com/')  soup = beautifulsoup(page.content) print(soup.title.string)  session.close()