我是 Python 和 Python 请求的新手。我正在尝试使用 Python 请求登录到一个站点以下载一些文件,但它失败了。当我查看表单数据时,似乎有一个名为“signInSecurity”的额外字段/变量,它传递一个随每次登录(令牌)而变化的值。我不知道如何将其添加到我的代码中。有谁知道我需要在代码中添加什么才能成功登录?import requestswith requests.session() as c: url = 'https://www.somewebsite.net/User/Sign-in/' USERNAME = 'address@example.com' PASSWORD = '*********'r = c.get(url)login_data = dict(username=USERNAME, password=PASSWORD)cookie = {'PHPSESSID': requests.utils.dict_from_cookiejar(c.cookies) ['PHPSESSID']}r = c.post(url, data=login_data, cookies=cookie, headers={"referer": "https://www.somewebsite.net/User/Sign-in/"})page = c.get('https://www.somewebsite.net')print(page.content)
3 回答
慕容森
TA贡献1853条经验 获得超18个赞
每个网站处理用户登录的方式都不同。当您登录时,您应该始终通过该网站上的“开发人员工具”窗口查看页面上的每个元素(对不起,如果措辞不好)。解决这个问题;我的猜测是在页面内的 HTML 脚本中找到该变量。但是,不确定您将如何执行此操作。就个人而言,似乎不可能捕获每次形成请求时都会变化的令牌,除非它出现在 HTML 脚本中。
不确定您是否关心,但 google 提供了 Google Sheets API 和 Google Drive API,您可以在其中使用 python 访问 google 文档(例如 JSON 或电子表格)。这是我从数据库访问数据时使用的。
添加回答
举报
0/150
提交
取消