登录  /  注册

Cookie介绍和模拟登录演示

爱喝马黛茶的安东尼
发布: 2019-06-05 17:09:27
转载
2773人浏览过

python-tutorials.html" target="_blank">Cookie可以说是和我们的生活息息相关,当你在淘宝购物的时候,那些推荐的宝贝就是Cookie的杰作。

上一篇我们讲解的是Selenium+PhantomJs的基本操作,今天给大家带来的是Cookie的介绍和模拟登录演示。

zz.jpg

什么是Cookie?

在计算机术语中是指一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。

打开chrome的开发者工具(f12),点开network,点击一个请求url,就可以看到请求头(request headers)里面的一个cookie信息了。当然我们从上面的响应头中可以看到一个set-cookie的信息,这就是服务器向浏览器设置cookie的一些信息,比如cookie的作用域,时间等。

Cookie的用途

存储用户登录信息,判断用户是否登录;保存用户浏览足迹;

Cookie是服务器在客户端存储的信息。这些信息是有服务器生成服务器解释的。

请求时,客户端需要把未超时的Cookies发送给服务器。服务器需要解析Cookies判断用户信息。

我们的浏览器会在你每次浏览网页是自动存储cookie,比如你打开清除浏览器浏览记录时,就会有cookie信息。

cookie给我们带来了很多便利,他还可以记录我们的浏览足迹,停留页面时间。比如你狂淘宝的时候,淘宝的推荐你喜欢的宝贝,就是根据你的cookie,获取你浏览过哪些商品,而生成的。

模拟登录演示

我们还是以知乎为例。https://www.zhihu.com/people/yu-kun-73/answers

这个URL是我的知乎信息页,当然大家可以使用自己的知乎页做例子。如果我们直接访问他,会看到上方的登录按钮,而是我已经登录了在访问呢。就不会显示登录按钮,而是个人编辑资料一些链接。

那么,如果我们使用爬虫去访问呢。

import requests
 
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
}
url = 'https://www.zhihu.com/people/yu-kun-73/answers'
resp = requests.get(url, headers=headers).text
print(resp)
登录后复制

通过打印的结果,我们可以看到,html 代码里是有登录按钮的。这就证明我们并没有登录这个页面。那么,如果我们在爬取一些需要登录账号才可以爬取数据的网站时,我们必然是要解决登录问题的。那么如何实现登录呢。

答案就是我们的Cookie了。我们在之前的文章中说过,requests库在处理Cookie时,是非常简单的。我们只需要向添加‘User-Agent’一样添加请求cookies就可以了。

import requests
 
headers = {
    'Cookie': # 你的登录过后的浏览器cookies,
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
}
url = 'https://www.zhihu.com/people/yu-kun-73/answers'
resp = requests.get(url, headers=headers).text
print(resp)
登录后复制

   

我们再次看打印信息,就可以看到有编辑个人资料的链接了。这就说明我们已经成功登录了。是不是很简单呢,别急,难的在后面呢。

最后

那么,如果我们要登录一些复杂的网站,比如新浪微博这种必须要登录才能获取信息的网站,使用cookie登录是肯定行不通的。因为这些网站会经常更新一些网站的算法,我们的cookie就会在工作一会失效,那么这些网站我们就需要向登录页post我们的登录信息。

这些登录信息参数一般都会存放在登录页的请求头下面的Form Data里面,我们只要携带这些信息Post,就可以顺利登录。但是如果遇到验证码,那么就很麻烦了。验证码的问题一直是考验爬虫的一个门槛,这个大家自己研究。

以上就是Cookie介绍和模拟登录演示的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:CSDN网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号