python - 登录页面并获取cookie

标签 python cookies python-requests

首先,感谢您抽出宝贵的时间阅读本文并可能试图帮助我。

我正在尝试制作一个脚本来轻松登录站点。我也想获得登录 cookie,所以也许我以后可以重用它们。我制作了脚本,它让我正确登录。但是我拿不到 cookies 。当我尝试打印它们时,我看到的是:

<RequestsCookieJar[]>

显然这对我没有帮助,我想。所以现在我想知道如何获取真正的 cookie 数据。非常感谢任何能帮助我实现这一目标的人。

我的代码:

import requests
import cfscrape
from bs4 import BeautifulSoup as bs
header = {"User-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"}
s = requests.session()
scraper=cfscrape.create_scraper(sess=s) #i use cfscrape because the page uses cloudflare anti ddos page
        scraper.get("https://www.bstn.com/einloggen", headers=header)
        myacc={"login[email]": "my@mail.com", #obviously change
        "login[password]": "password123"}
        entry=scraper.post("https://www.bstn.com/einloggen", headers=header, data=myacc)
        soup=bs(entry.text, 'lxml')
        accnm=soup.find('meta',{'property':'og:title'})['content']
        print("Logged in as: " + accnm)
        aaaa=scraper.get("https://www.bstn.com/kundenkonto", headers=header)
        print(aaaa.cookies)

如果我打印 ccokies,我只会得到 <RequestsCookiesJar[]>就像之前描述的那样......如果有人能帮助我获得“真正的” cookies ,那就太好了

最佳答案

如果你想得到你的登录cookie,你应该使用发布后的响应,因为你正在做登录操作!如果您输入正确的电子邮件和密码,服务器将发回 session cookie。为什么您在 aaaa 中得到空 cookie 是因为网站不想设置或更改您的 cookie。

entry = scraper.post("https://www.bstn.com/einloggen", allow_redirects=False, headers=header, data=myacc)
print(entry.cookies)

关于python - 登录页面并获取cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53797784/

相关文章:

列表中的 Python 不支持的操作数类型

cookies - LTI 启动后无法访问站点 cookie

python - 错误 :cannot use a string pattern on a bytes-like object

python - 请求(仅)*.google.com 时,SSL3_GET_SERVER_CERTIFICATE 证书验证在 Python 上失败

python - 在解决所有重定向之后但在使用 urllib2 下载页面之前,如何拦截请求?

Python子进程杀死

ruby-on-rails - IE 10+ 不会在跨域 CSS url() 请求上发送 cookie

python - 如何通过https python请求下载文件

python - 如何优化图像比较脚本的性能?

linux - Mantis 错误跟踪器的 Varnish cookie 问题