关山月明 发表于 2020-10-5 18:14

大佬们,手动设置的cookie为什么请求之后还是空的呢?

大佬们请看情况,这是我顺便弄得百度的一个东西,这和我遇到的爬虫问题类似。
我觉得爬虫模拟登录失败,原因就是因为cookie,先请求验证码,然后获取验证码的cookie,把这个cookie加到登录网页中,但是总是登录不上。
所以,我在模拟登陆的时候,打印了一下cookie,发现就是空的,请问大佬们这是为什么啊?


Menguy 发表于 2020-10-5 18:44

jidesheng6 发表于 2020-10-5 18:44

把cookie和headers写一起试试,我喜欢这么干

luanshils 发表于 2020-10-5 18:45

本帖最后由 luanshils 于 2020-10-5 21:15 编辑

- -,我也是一知半解

ghoob321 发表于 2020-10-5 18:55

要有请求头

rsnodame 发表于 2020-10-5 19:03

试试看会话对象,能够跨请求保持某些参数。
s = requests.Session()

r = s.get('http://httpbin.org/cookies', cookies={'from-my': 'browser'})
print(r.text)
# '{"cookies": {"from-my": "browser"}}'

r = s.get('http://httpbin.org/cookies')
print(r.text)
# '{"cookies": {}}'

关山月明 发表于 2020-10-5 19:17

jidesheng6 发表于 2020-10-5 18:44
把cookie和headers写一起试试,我喜欢这么干

我想说的是爬虫的问题,这个图片只是个例子,我那个有验证码,必须动态获取验证码所在页面的cookie,然后登录页面携带这个cookie登录,所以,之前就加在cookie应该不行吧

关山月明 发表于 2020-10-5 19:17

luanshils 发表于 2020-10-5 18:45
你打印输出cookie了没,我怎么感觉你都没保存cookie

保存cookie是啥意思啊,我不是直接赋值变量了吗

关山月明 发表于 2020-10-5 19:18

rsnodame 发表于 2020-10-5 19:03
试试看会话对象,能够跨请求保持某些参数。
s = requests.Session()



session我也试了的,打印cookie同样是空的

rsnodame 发表于 2020-10-5 21:58

关山月明 发表于 2020-10-5 19:18
session我也试了的,打印cookie同样是空的

有几个可能
1、你拿来测试的cookie格式不对。建议用浏览器登录后,直接复制浏览器的cookie
2、更新cookie的方法不对。我一般是用 session.cookies.update() 的方式更新cookie
页: [1] 2
查看完整版本: 大佬们,手动设置的cookie为什么请求之后还是空的呢?