2017-09-13 153 views
1

我试图从贷款俱乐部下载数据的url栏中刮取当前的贷款通知状态。例如https://lendingclub.com/browse/loanDetail.action?loan_id=104046830 并且它需要登录才能提取信息。网上报名登录贷款俱乐部

我已按照步骤创建登录会话,但似乎无法成功登录。结果不包含正确的代码。有人能帮我找出问题吗?

USERNAME = "username" 
PASSWORD = "password" 

LOGIN_URL = "https://www.lendingclub.com/auth/login?" 

loan_id=96490539 

URL = "https://lendingclub.com/browse/loanDetail.action?loan_id=96490539" 

def main(): 
    session_requests = requests.session() 

    # Get login csrf token 
    result = session_requests.get(LOGIN_URL) 
    tree = html.fromstring(result.text) 
    authenticity_token = tree.xpath("//meta[@name='csrf-token']/@content")[0] 

    # Create payload 
    payload = { 
     "login_email": USERNAME, 
     "login_password": PASSWORD, 
     "csrf-token": authenticity_token 
    } 

    # Perform login 
    result = session_requests.post(LOGIN_URL, data = payload, headers = dict(referer = LOGIN_URL)) 

    # Scrape url 
    result = session_requests.get(URL, headers = dict(referer = URL)) 
    return result 
+0

你想创建一个cookie,如: 会话= requests.session(配置!= { '详细':sys.stderr} –

+0

感谢,但我得到了 '' 会话()得到了一个意想不到的关键字参数'config'''问题我想cuz即时通讯使用python3 – Shirley

+0

你可以这样写:s.config ['verbose'] = sys.stderr –

回答

0

虽然它看起来很奇怪我建议,你可以试试这个。根据chrome开发工具,只需获取有效的响应即可。

import requests 
from lxml import html 

USERNAME = "username" 
PASSWORD = "password" 

LOGIN_URL = "https://www.lendingclub.com/account/login.action" 

def main(): 

    payload={ 
    'login_url':'/browse/loanDetail.action?loan_id=96490539', 
    'login_email':USERNAME, 
    'login_password':PASSWORD, 
    'offeredNotListedPromotionFlag':'' 
    } 
    with requests.session() as session: 
     session.headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36'} 
     result = session.post(LOGIN_URL, data=payload, 
      headers={'Referer':'https://www.lendingclub.com/browse/loanDetail.action?loan_id=96490539','Content-Type': 'application/x-www-form-urlencoded'}) 

     return result 
+0

令人惊讶的是,它的工作!非常感谢! – Shirley