Python。请求。张贴。常用登录方式don'

2024-06-16 14:16:33 发布

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

尝试登录此站点“websim.worldquantchallenge.com/login“,但通常的方法行不通。在大多数情况下和网站中,我们可以使用下一种形式:

session = requests.session()
url = 'https://websim.worldquantchallenge.com/login'
data = {
    'EmailAddress': '<YOUR_MAIL>', 
    'Password': '<YOUR_PASS'
}
result = session.post(url, data = data)
print(result)

但在这种情况下,我得到了“403响应”。

类似“HTTPBasicAuth”或“HTTPDigestAuth”的身份验证方法也不起作用。那么在这种情况下我如何登录?


Tags: 方法comurlyourdata站点网站session
3条回答

据我所知,表单是由javascript处理的,所以您并不真正知道数据的url地址。对于请求似乎不起作用的网站问题,我使用了selenium。它使用chrome驱动程序在浏览器中拖出页面。然后按类或id找到元素并填写表单并单击submit。在

许多网站正在转向这种javascript交互风格,以防止自动代码取消它们的网站。我也看到了验证码的代码,所以如果出现这种情况,您可能不得不处理它。在

首先,您必须确保网站的政策允许通过代码登录。在

如果是,则帖子的url应为:

url = 'https://websim.worldquantchallenge.com/login/process'

我建议在激活开发工具的情况下通过网站登录并查看请求/响应内容。 由于某些原因无法使用通常的方法进行记录:

  • 表单已更改(例如,“EmailAddress”替换为“Username”,这是表单中的一个新字段)
  • 身份验证方法已更改(例如,新url、OAuth2…)
  • 该网站通过过滤用户代理或在登录表单中添加隐藏字段来阻止编程访问

还有一个基本问题:你看过403(print(result.text))的错误消息了吗?在

相关问题 更多 >