2016-06-04 5 views
1

파이썬에서 요청 라이브러리가있는 웹 사이트에 로그인하려고합니다. 나는 운이없는 다른 코드를 시도했다. 내 코드 :파이썬으로이 웹 사이트에 로그인하는 방법

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 "[email protected]" 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 당신은 단지 사용자 에이전트 추가하는 것은 매우 간단 필요가있다

+0

당신이 무엇을 의미합니까 * "행운"*을 내가 로그인 할 싶어? – jonrsharpe

+0

응답 200 코드가 있지만 로그인하지 않았습니다. – Lucas03

답변

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": "[email protected]", 
    ....:   "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) 
    ....:  

[email protected] 
+0

Nice, thanks. 그건 실제로 내 마음을 넘어 섰다. 그러나 어떤 이유인지 나는 헤더 param이 아니라 데이터에 추가했다 : ( – Lucas03

+0

걱정하지 마라, 데이터에 있어야하는 것은 당신이 게시하는 것, 사용자 에이전트 등이다. 요청 헤더 –

관련 문제