python-day6爬虫基础之会话、Cookies、代理
由于前几天看电脑时间过长,在昨天的时候,两个眼睛就有点疼痛感觉,所以昨天晚上就没有学习,博客也没有跟着写,今早去校医院买了点药,上午把老师要求的电路板画完了,已经发出去做了,现在闲来无事,看了一会关于爬虫的书,现在做一下总结,可能比较枯燥。
1、会话
我们平时打电话的时候,从拨号到挂断电话,就可以称之为一个会话。
在web中,会话的作用就是用来存储用户会话所需要的属性以及一系列配置信息,这样的话,我们在网页之间跳转的时候,那么关于会话的一些信息就不会丢失了。
2、Cookies
在一些网页,我们需要登录之后才可以进行一些后续的操作,很多时候,我们在后来再次打开该网页时,会自动登录,而且在一定时间内都是有效的。这就涉及到Cookies了。
书上的定义为:Cookies是指某些网站为了辨别用户身份、进行会话跟踪而存储在用户本地终端上的数据。
3、会话维持
当我们使用我们的客户端进行请求服务器的操作的时候,服务器会返回一个带有Set-Cookies字段的响应,主要的目的就是标记用户,这时,客户端会将响应信息保存下来。这样的话,在下一次,我们再次请求服务器的时候,我们的客户端就会将之前保存到关键信息发送给服务器,这些信息中带有关于用户的ID信息,这样服务器在浏览收到的信息时,就会找到对应的会话,然后再判断会话进而识别用户状态。上边所谈到的信息,都是Cookies。
4、会话Cookies和持久Cookies
会话Cookies:就是把Cookies放置在浏览器内存里边,这些Cookies会随着浏览器的关闭而失效。
持久Cookies:就是把Cookies放置在客户端硬盘里边,这些Cookies会长久保存,当然这个保存时间也是可以设置的。
5、代理
代理指的是代理服务器,主要是做爬虫的时候,我们常常需要频繁的访问网站,如果这个网站有反爬虫机制,那我们的ip很有可能会被封锁,代理的作用就是他可以隐藏我们的真实ip,让服务器以为是代理服务器在访问自己,这样就可以通过不断的更换代理来迷惑对方,从而是自己的ip不会被封锁。
代理的基本原理:我们在访问一个网站的时候,是先向网站发送一个请求,紧接着服务器会返回一个响应。如果我们使用代理的话,代理的角色就跟一个中介一样,位于客户端与服务器中间,此时我们访问网站的流程就变成了,客户端先向代理服务器发送一个请求,再由代理服务器将此请求发送给服务器,服务器紧接着会发回一个响应信息给代理服务器,由代理服务器再返回给客户端。第一,通过这种方法,我们可以正常的访问网页;第二,访问过程中,服务器识别出来的ip不是我们本机的ip,这样就实现了ip伪装。
6、代理的作用
(1)突破自身ip访问限制,访问平时不能访问的网站。
(2)访问一些单位或团体内部资源
(3)提高访问速度,代理服务器都设有一个比较大的硬盘缓冲区,当有外界信息通过的时候,会将其保存到缓冲区中,当其他用户再次访问相同的信息时,则直接将信息从缓冲区的提取出来传给用户,这样就提高了访问的速度。
(4)隐藏真实ip
今天就先写到这吧,等眼睛好了之后,在好好写,可能有写的不当的地方,还请大家多多指正,大家一起学习,共同进步。谢谢。
python-day6爬虫基础之会话、Cookies、代理的更多相关文章
- python从爬虫基础到爬取网络小说实例
一.爬虫基础 1.1 requests类 1.1.1 request的7个方法 requests.request() 实例化一个对象,拥有以下方法 requests.get(url, *args) r ...
- Python扫描器-爬虫基础
0x1.基础框架原理 1.1.爬虫基础 爬虫程序主要原理就是模拟浏览器发送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中 1.1.基础原理 1.发起HTTP请求 2 ...
- Python BeautifulSoup4 爬虫基础、多线程学习
针对 崔庆才老师 的 https://ssr1.scrape.center 的爬虫基础练习.Threading多线程库.Time库.json库.BeautifulSoup4 爬虫库.py基本语法
- 自学Python四 爬虫基础知识储备
首先,推荐两个关于python爬虫不错的博客:Python爬虫入门教程专栏 和 Python爬虫学习系列教程 .写的都非常不错,我学习到了很多东西!在此,我就我看到的学到的进行总结一下! 爬虫就是 ...
- 自学Python六 爬虫基础必不可少的正则
要想做爬虫,不可避免的要用到正则表达式,如果是简单的字符串处理,类似于split,substring等等就足够了,可是涉及到比较复杂的匹配,当然是正则的天下,不过正则好像好烦人的样子,那么如何做呢,熟 ...
- Python网络爬虫Scrapy框架研究 以及 代理设置
地址:https://github.com/yidao620c/core-scrapy 例子:https://github.com/geekan/scrapy-examples 中文翻译文档: htt ...
- Python归纳 | 爬虫基础知识
1. urllib模块库 Urllib是python内置的HTTP请求库,urllib标准库一共包含以下子包: urllib.error 由urllib.request引发的异常类 urllib.pa ...
- 自学Python五 爬虫基础练习之SmartQQ协议
BAT站在中国互联网的顶端,引导着中国互联网的发展走向...既受到了多数程序员的关注,也在被我们所惦记着... 关于SmartQQ的协议来自HexBlog,根据他的博客我自己也一步一步的去分析,去尝试 ...
- python 网页爬虫 基础篇
首先要连接自己的数据库 import pymysql import requests #需要导入模块 db = pymysql.connect('localhost', 'root', '****** ...
随机推荐
- 第二篇MTV模型、基本命令、简单配置
MTV模型.基本命令.简单配置 阅读目录(Content) MTV模型 基本命令 简单配置 MTV模型 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Tem ...
- Vim中的基本操作
Vim中的基本操作 vim介绍.实验知识点.Vim中的六种基本模式 2.1 vim 6种模式介绍 从vi衍生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执 ...
- javascript 解决provisional headers are shown的过程
请求没有被发送,因为是载入缓存资源. 大概是说 完全相同的请求间隔数毫秒(太短),导致加载失败,查看了chrome控制台发现 Provisional headers are shown 出现在 载入缓 ...
- Struts1 的配置文件总结
一.在web.xml中安装Struts 要想使用Struts,我们接触到的第一个配置文件就是web.xml.实际上,Struts的入口点是一个名为ActionServlet的Servlet.在第一次访 ...
- 【LeetCode】克隆图
[问题]给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆).图中的每个节点都包含它的值 val(Int) 和其邻居的列表(list[Node]). 解释: 节点 的值是 ,它有两个邻居:节点 和 ...
- 基于Qt5的排序算法简单可视化
之前写了几个排序算法,然后看到别人将排序算法的过程可视化出来,所以就想尝试一下,然后就用Qt简单写了个界面,用QImage和QPainter来画图显示,代码比较简单. 我的想法是画图的时候,图像的X轴 ...
- java课程之团队开发冲刺阶段2.7
昨日总结: 1.完整实现课前闹钟提醒功能 遇到的困难: 1.没有遇到大的问题,细节地方没有处理好出现了一下小的情况 今天的任务: 1.实现对课程查询的完整实现 当日总结: 1.以前是使用二级联动下拉框 ...
- C++中的string详解
标准库类型string表示可变长的字符序列,为了在程序中使用string类型,我们必须包含头文件: #include <string> 声明一个字符串 声明一个字符串有很多种方式,具体如 ...
- Mac Eclipse 打包可执行jar文件
2 3 4 保存后 终端 cd 目录 java -jar xxxx.jar
- Vue组件template模板字符串几种写法
在定义Vue组件时,组件的模板template选项需要的是一个字符串,当其内容较复杂需要换行时,需要简单处理一下,具体有五种方式: 方式一:使用 \ 转义换行符 <!DOCTYPE html&g ...