首先,感谢您抽出宝贵的时间阅读本文章,并可能会尝试帮助我。
我正在尝试编写一个脚本来轻松登录站点。我也想获得登录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,那将非常好
答案 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)