如何使用Python登录本网站

时间:2016-06-04 17:20:46

标签: python login python-requests

我正在尝试使用Python登录带有请求库的网站。我尝试了不同的代码而没有运气。这是我的代码:

url = 'https://www.damejidlo.cz/en/profile/prihlaseni'
login_data = {'email': 'test',
              'password': 'password',
              'do': 'loginForm-submit'}
session = requests.session()
session.headers.update({'do': 'loginForm-submit'})
result = session.post(url, data=login_data)
if "test@lolco.net" in result.content:
    print("example.com:", "logged in")
elif "Sign up" in result.content:
    print("example.com:", "not logged in")

如何让它发挥作用?您可以使用用户数据来测试登录。之后我会删除该帐户。谢谢!

如果我运行此代码,我会得到example.com: not logged in。我想登录:D

1 个答案:

答案 0 :(得分:0)

这很简单,你只需要添加一个用户代理:

In [7]: import requests

In [8]: from bs4 import BeautifulSoup

In [9]: login = "https://www.damejidlo.cz/en/profile/prihlaseni"

In [10]: data = {"email": "xxxxxxxxx@gmail.com",
   ....:         "password": "xxxxxxxx",
   ....:         "do": "loginForm-submit"}

In [11]: h = {
   ....:     "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36"}

In [12]: with requests.Session() as s:
   ....:         r = s.post(login, data=data, headers=h)
   ....:         soup = BeautifulSoup(r.content,"lxml")
   ....:         print(soup.select_one("#snippet--user-bar a.username.user-bar__links-item").text)
   ....:     

xxxxxxxxx@gmail.com
相关问题