为啥Python2.7爬虫无法获取全部Cookie

用requests的session()方法就是了,s = requests.session()r = s.post(url, data) # 登录s.get(url1) 这是保持登录状态的访问
■网友
这个问题没有仔细去研究,只是根据我写浏览器程序所做的推断。Cookie是一种特定的数据结构,里面存的数据不一定都通过http来自网站,编写浏览器相关的程序的时候,知道cookie这个数据结构有个字段:isHttpOnly,如果设置为true表示只能由http修改cookie值。那如果是false会发生什么呢?cookieManager开放了一个方法add(),可以添加cookie所以我猜测是不是在浏览器侧添加了其他cookie,从而造成你观察到的现象?不过我没有去实际检验过
■网友
一般有反爬的网站,cookie值你直接抓肯定抓不全,因为有一部分是他自定义函数生成的,一般都是跟时间戳有关,你需要找到它的生成方式,然后破解模拟生成,组成一个完成的cookie

■网友
如果禁掉了js,只可能是 @宫伟峰提到的重定向问题,你拿到的是重定向之前的cookie,重定向之后的页面里的cookie你没有拿到, 但是那个重定向之前的cookie至少包含了你的sessionid
■网友
Python的我不懂,以前也写过也是跟洛克的方法一样。 不过我用Java写的时候也遇到了这样的问题,用HttpURLConnection 获取的cookies是不完整的,但是用JSoup就能获取完整的cookies,后来我禁止了 HttpURLconnection 自动访问重定向的页面,就拿到了完整的cookies。不知道你的是不是这个问题,权当提个思路。
■网友
使用瑞雪采集云, 可以轻松的处理cookie的问题:
企业爬虫专家:适合企业使用的数据采集平台-瑞雪采集云
■网友
【为啥Python2.7爬虫无法获取全部Cookie】 我也是遇到这个问题了,要爬去的网站是java写的,模拟登录后提示登录成功,获取到的jsessionid再次请求就无法获取登录后的页面,经我测试这个jsessionid确实没有登录。我浏览器查看的时候,请求login方法的时候,request包含已经登录后的jsessionid,response 的setcookie 的jseessionid根本无法请求登录后的页面。困扰我好多天了,没想到解决办法,本来想抓包看看具体请求过程,可是我们的计算机不允许使用代理。


    推荐阅读