-
-
Save nikhilkumarsingh/c354874a36c9d85f45fd14309e0afeff to your computer and use it in GitHub Desktop.
import requests | |
from bs4 import BeautifulSoup | |
headers = { | |
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' | |
} | |
login_data = { | |
'name': '<username>', | |
'pass': '<password>', | |
'form_id': 'new_login_form', | |
'op': 'Login' | |
} | |
with requests.Session() as s: | |
url = 'https://www.codechef.com/' | |
r = s.get(url, headers=headers) | |
soup = BeautifulSoup(r.content, 'html5lib') | |
login_data['form_build_id'] = soup.find('input', attrs={'name': 'form_build_id'})['value'] | |
r = s.post(url, data=login_data, headers=headers) | |
print(r.content) |
ourad
commented
Jan 10, 2020
via email
i tried but not work... i cant reach the HTML codes... pls some one help me.
hi i tried the same code (just inputed by username ad password) but i am not able to login to the website
b'\n\n\n\n
could you help me out
Hi Nickhil, thank you for this video , I've tried it with my own parameters and website but the only response was :
Users\Sami\AppData\Local\Programs\Python\Python37-32\python.exe: can't find 'main' module in ''
Could you please tell me what is the matter .
best regards
Sami
Hi Nikhil, This Code is Excellent and works perfect.
Can we check the status_code of the post request to know if login is successful or not ( for multiple accounts login)
I don't want content of the login page, just need to know if login is successful (maybe using .status_code)
This beautiful soup find function might not work for all websites.
Please help.
I'm getting an error in line 18,
Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library?
can you help me out??
Try this command in terminal: pip install html5ib
@uddeshyy You better make use of cookies in the response . You can use status codes but Status codes are completely dependent on how the website responds. If the website giving 200 response code for both valid and invalid login then you can’t use. If Incase giving 400 for invalid and 200 for valid then there is change to use it as a key for success login.
@uminostech1089 you need to send the request the same way, the browser sending to the server. Use fidler or any http network debugging tools to read how the website is sending the requests to the server