python - 无法使用 Python 会话请求登录网站
问题描述
我是网络抓取的新手,我正在尝试使用 requests.Session() 登录到imagingrewardsprogram.com。我已经能够成功登录到其他网站,但我很困惑为什么我无法登录到这个网站。
当我在 Google Chrome 中登录该站点并在开发人员工具中查看表单数据时,我可以看到我传递给我的代码的表单数据与我传递给 Web 浏览器的表单数据相同( “用户”和“密码”)。我确定还有一些我应该传递的东西我错过了,但我不确定它是什么。
这是我的代码:
loginURL = 'https://imagingrewardsprogram.com'
requestURL = ''https://imagingrewardsprogram.com/merlin/pnaimaging?command=get&style=home'
payload = {
'user': myusername,
'password': mypassword,
'command':'get',
'style':'home'
}
with requests.Session() as session:
post = session.post(loginURL, data=payload)
r = session.get(requestURL)
print(r.text)
我得到的输出是一个页面,上面写着“您的会话已过期或在获取您的帐户信息时发生错误。”
任何指导表示赞赏!
解决方案
也许一个原因可能是您尝试访问的网站使用了更高的安全性,不允许自动登录。
因此,这就是您无法使用脚本创建会话的原因。验证码和重新验证码等安全性用于防止自动登录。
推荐阅读
- office-js - 无法在 MacOS 上调用自定义 URL 方案
- r - 使用 RISmed 的书目数据,不下载所有变量
- javascript - 如何在 react-router 中创建 `/orders/:id/detail` 路径
- python - 熊猫数据框从数据集中选择与开头匹配的行
- python - 如何从 excel sheet2 中的 excel sheet1 打印数字,并且重复的数字只能打印一次?
- laravel - 如何从两个不同的表中获取外国 ID 并存储在 laravel 的另一个表中
- docker - 暴露 Nginx 容器并查看服务
- r - 绘制带有“无年”日期轴的线图
- asp.net-core - 如何在 VSCode 中运行 ASP.NET Core Web 应用程序时修复 HTTPS 证书错误
- r - 将 Excel 2016 中的数据集上传到 R 中,日期标题更改为一般格式