我想对linkedin.com
进行身份验证并获取一些内容
我使用requests
python模块并执行以下操作:
import requests
from BeautifulSoup import BeautifulSoup
client = requests.Session()
HOMEPAGE_URL = 'https://www.linkedin.com'
LOGIN_URL = HOMEPAGE_URL + '/uas/login-submit'
html = client.get(HOMEPAGE_URL).content
soup = BeautifulSoup(html)
csrf = soup.find(id="loginCsrfParam-login")['value']
login_information = {
'session_key':'my_login',
'session_password':'my_password',
'loginCsrfParam': csrf,
}
client.post(LOGIN_URL, data=login_information)
content = client.get(HOMEPAGE_URL + 'vsearch/c').content
而且,得到了内容,好吧,
但是,现在我想用龙卷风框架做同样的工作
我以类似的方式得到loginCsrfParam
并发帖请求:
login_information = {
'session_key':'my_login',
'session_password':'my_password',
'loginCsrfParam':csrf
}
body = urllib.urlencode(login_information)
http_client.fetch(LOGIN_URL,
handle_request_post,
method='POST',
headers=None,
body=body)
到达回复后
http_client.fetch(HOMEPAGE_URL + '/vsearch/c',
handle_request_get_content,
method = 'GET')
但我只是一个登录页面
出了什么问题?
答案 0 :(得分:0)
Tornado的AsyncHTTPClient没有任何会话概念;每个请求都是独立的。它看起来像requests.Session正在从登录请求转移到vsearch请求,可能是cookie。您需要处理登录请求中的Set-Cookie标头,并将cookie转移到以下任何请求(可能使用http.cookiejar模块)