2014-09-09 3 views
1

Я просто пытался простой POST с помощью LinkedinВход в LinkedIn

client = requests.Session() 
URL = 'https://www.linkedin.com/uas/login-submit' 
login_information = { 
    'session_key':'login_email_address', 
    'session_password':'password', 
} 

client.post(URL, data=login_information) 

Однако я получаю это как ответ

Request Error 
We’re sorry, there was a problem with your request. Please make sure you have cookies enabled and try again. 

Or follow this link to return to the home page. 

Любые мысли?

+0

Код работал для меня на Python 2.7.3. – Celeo

+0

im на 2.7.2, как мне перейти на 2.7.3? –

+0

[Загрузить страницу] (https://www.python.org/download)? Это зависит от вашей ОС, но есть руководства. – Celeo

ответ

1

Я думаю, что не так просто войти в LinkedIn с помощью простого POST. Попробуйте следующее:

import requests 
from bs4 import BeautifulSoup 

# Get login form 
URL = 'https://www.linkedin.com/uas/login' 
session = requests.session() 
login_response = session.get('https://www.linkedin.com/uas/login') 
login = BeautifulSoup(login_response.text) 

# Get hidden form inputs 
inputs = login.find('form', {'name': 'login'}).findAll('input', {'type': ['hidden', 'submit']}) 

# Create POST data 
post = {input.get('name'): input.get('value') for input in inputs} 
post['session_key'] = 'username' 
post['session_password'] = 'password' 

# Post login 
post_response = session.post('https://www.linkedin.com/uas/login-submit', data=post) 

# Get home page 
home_response = session.get('http://www.linkedin.com/nhome') 
home = BeautifulSoup(home_response.text) 

Это код, который я пробовал раньше, и это сработало. Скажите, есть ли проблемы.

1

Я получил его для работы. Не получил токен csrf. Это работает

import requests 
from bs4 import BeautifulSoup 
from unidecode import unidecode 

client = requests.Session() 

HOMEPAGE_URL = 'https://www.linkedin.com' 
LOGIN_URL = 'https://www.linkedin.com/uas/login-submit' 

html = client.get(HOMEPAGE_URL).content 
soup = BeautifulSoup(html) 
csrf = soup.find(id="loginCsrfParam-login")['value'] 

# print soup.find(id="loginCsrfParam-login") 

login_information = { 
    'session_key':'username', 
    'session_password':'password', 
    'loginCsrfParam': csrf, 
} 

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:31.0) Gecko/20100101 Firefox/31.0'} 

client.post(LOGIN_URL, headers=headers, data=login_information) 
Смежные вопросы