python-登录页面并获取cookie

时间:2018-12-15 22:26:49

标签: python cookies python-requests

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

我正在尝试编写一个脚本来轻松登录站点。我也想获得登录cookie,所以也许以后可以重用它们。我编写了脚本,它正确地登录了我。但是我不能得到饼干。当我尝试打印它们时,我只会看到以下内容:

<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[]> ...如果有人可以帮助我获得“真实的” cookie,那将非常好

1 个答案:

答案 0 :(得分:2)

如果要获取登录cookie,则应使用发布后的响应,因为您正在执行登录操作!如果您输入正确的电子邮件和密码,服务器将发回会话cookie。还有为什么您在aaaa中没有空Cookie的原因是网站不想设置或更改Cookie。

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