我只是在尝试使用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.有什么想法吗?
发布于 2014-09-10 16:21:48
我认为用一个简单的帖子登录LinkedIn并非易事。试试这个:
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)这是我之前尝试过的代码,它起作用了。如果有什么问题请告诉我。
发布于 2014-09-10 23:37:26
我让它起作用了。没有获得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)https://stackoverflow.com/questions/25753814
复制相似问题