Python:请求使用查询字符串参数获取方法登录,不确定是否成功

2024-10-01 04:55:33 发布

您现在位置:Python中文网/ 问答频道 /正文

问题:

我想使用requests会话和GET方法登录到https://www.vademecum.es/,但我认为我无法登录

我试过:

  1. 检查并找到XHR下的登录查询

  2. 我看到的方法不是POST而是GET,这意味着我应该查找查询字符串参数,而不是POST的表单数据 login query

  3. 那么,我不确定我应该做什么。我只是尝试了请求会话,比如POST会话

    request_url = 'https://www.vademecum.es/vademecum_check_session?tk=e2fa8fa3e3ddc83f4959eec03fdb5acac32b8d83&rt=bd0c521e9415f8b39a5b77da05a38dd1b511dba3&v=1&p=0.0502148532968687'
    query_string_parameters = {
    "tk":"e2fa8fa3e3ddc83f4959eec03fdb5acac32b8d83", 
    "rt": "bd0c521e9415f8b39a5b77da05a38dd1b511dba3",
    "v": "1",
    "p": "0.0502148532968687"} 
    s = requests.Session()
    response = s.get(request_url, params=query_string_parameters)
    test = s.get('https://www.vademecum.es/mis_datos?redirect=https://www.vademecum.es/medicamento-keytruda_dopaje_45789')
    soup = BeautifulSoup(test.text, "html.parser")
    

测试url是我登录时的帐户。 [test url2

我得到的结果如下(与我登录时使用inspect看到的结果不同):

[<div class="input"><input id="inp_login_email" name="login[email]" placeholder="Correo electrónico*" type="text"/></div>,
 <div class="input"><input id="inp_login_password" name="login[password]" placeholder="Contraseña*" type="password"/></div>,
 <div class="input"><input checked="checked" id="inp_login_remember" name="login[remember]" type="checkbox" value="1"/></div>,
 <div class="input"><input class="btn_blue" id="inp_login_submit" name="login[submit]" type="submit" value="Iniciar sesión"/></div>]

我从中看到:

inspect

问题:

  1. 我使用GET方法登录的步骤正确吗?如何使用GET方法正确登录
  2. 我看到我们通常使用用户名和密码来登录POST方法,我们可以用GET方法做同样的事情吗

可选问题: 我现在只测试请求包。但是我想知道如果我使用scrapy,我应该使用什么方法让GET方法登录scrapy?(通常我使用FormRequest进行POST方法登录)

提前谢谢


Tags: 方法namehttpsdividinputgetes