网站登录python请求出现问题

时间:2020-02-13 16:57:38

标签: python html python-3.x web-scraping python-requests

我已经尝试了一段时间,但似乎无法弄清楚如何在该网站上登录有关某个抓取项目的请求。不知道它是否与csrfToken有关。不管我尝试什么,似乎都行不通。

任何帮助或建议,将不胜感激。

这是脚本:

import requests
LOGIN_URL="https://example/user/login"
payload={'login':'username', 'password':'password'}

with requests.Session() as s:
    p = s.post(LOGIN_URL, data=payload)
    print p.text
    r = s.get('https://example.com/account/')
    print r.text

这是html帖子字段:

<form method="POST" action="https://example.com/user/doConsent" id="consentForm" class="consent-form">
    <input type='hidden' name='CsrfToken' value='' />
    <input type="hidden" name="key" value="">

    <form method="POST" action="https://example.com/user/doLogin" id="loginForm" novalidate>
    <input type='hidden' name='CsrfToken' value='' />
    <input type="email" class="mb20" name="login" id="login" placeholder="Email or Profile name">

    <input type="password" class="mb30" name="password" id="password" placeholder="Password">

1 个答案:

答案 0 :(得分:0)

如果您在发出实际的POST请求时,“ CsrfToken”为空,那么这就是您的问题。发送数据时,您需要一个与表单和标头都匹配的实际csrf令牌。