爬虫学习记录1:通讯协议、网络模型、爬虫分类及常见概念

通讯协议、网络模型、爬虫分类及常见概念

1.通讯协议

1.1端口

若把一个ip地址比作一栋房子,那么端口就是进入这座房子的门。
为了标识应用程序,所有出现了端口。
不同的端口代表不同的应用程序,通过数字来对不同的端口进行标识(此为逻辑端口)。

1.2数据通讯的步骤

找到ip(定位)–>进入端口(传输数据)–>定义通讯规则(协议)

1.3通讯协议

定义:计算机通信网络中两台计算机共同遵守的规则
国际组织定义的通用通讯协议:TCP/IP协议
HTTP协议:超文本传输协议(通信协议),端口是80

2.网络模型及http与https

2.1osi模型及TCP/IP模型

爬虫学习记录1:通讯协议、网络模型、爬虫分类及常见概念_第1张图片
传出计算机:osi模型数据封包
传入计算机:osi模型数据解包
通过物理层传输
爬虫学习记录1:通讯协议、网络模型、爬虫分类及常见概念_第2张图片
应用、表示、会话层合并为应用层
网络层变为网际层
数据链路及物理层合并为主机至网络层
ps:http在传输层之上,也就是在应用层,爬虫是在应用层进行操作

2.2http与https

https=http+ssl,就是在http的基础上加上了ssl保护壳,信息加密过程在ssl中完成
ssl是一个主要用于web安全传输协议

3.爬虫分类

1.通用网络爬虫:百度、谷歌…
2.聚焦网络爬虫:带有目标的爬取
3.增量式网络爬虫:只爬取改变的部分(更新)
4.深层网络爬虫:不能通过静态链接获取的信息,需通过用户提交关键词来得到的web页面,然后才能爬取

ps:
1.什么是爬虫?
通过模拟人来进行访问网页进行操作
2.为什么需要爬虫?
获取大量数据,提供数据源

4.常见概念

4.1GET与POST

GET:查询的参数均在URL中显示出来
POST:查询的参数及需要提交的数据均是隐藏在form表单里面,不会直接在URL中显示出来
ps:本文只利用于有关爬虫的知识,有空再详细说明GET与POST
补充:post请求方式时:可利用urllib.request.Request( url ,data =data,headers = headers)且data标单里面的数据只能是以bytes类型提交,不能是str。在json中可利用json.laod()将json类型的str转化为bytes类型。

4.2URL的组成

以在百度中搜索尊龙及腾讯新闻来举例
URL=https://www.sogou.com/sie?query=%E5%B0%8A%E9%BE%99&hdq=Af81014&ie=utf8&ekv=3&
URL=https://new.qq.com/omn/TWF20200/TWF2020032502924000.html
https是一种协议
www.sogou.com是主机名,该机器在sogou.com的域名下
(new.qq.com)
port端口号,位于域名之后,一般省略(https的端口是443,http端口号是80)
后面接着是路径如:TWF20200/TWF2020032502924000.html
总的来说:URL=协议+主机名(域名)+(端口号)+路径
ps:
#anchor:用于定位的锚点
其中%E5%B0%8A%E9%BE%99是浏览器自动对文字的编码表示尊龙
3个%代表一个文字,除字母、数字及部分标识符其他用十六进制来表示

4.3user-agent用户代理

作用:使服务器识别用户的操作系统、浏览器等等,从而来达到更好的渲染效果(HTML的页面效果)
常见用户代理

4.4refer

理解:显示当前请求是从哪个URL过来(一般情况下为访问页面的主页)(有时候网站就是通过这个封你IP)
可利用refer做反爬

4.5状态码

200:请求成功
403:服务器拒绝请求
404:服务器请求失败
301:永久重定向(永久的改变了该网址的url,已有新的URL代替)
302:暂时重定向(访问首页,需要登陆信息)
常见状态码详细解释

4.6inspect(F12)

Elements:元素,里面包含源码(经过处理的源码)
Console:控制台(打印信息)
Sources:文件,通过ajxs处理的空结构,也可断点调试JS
Network:网络,反应出网页得到请求的各个请求资源信息(Name,status等等),可根据这个进行网络优化(可进行抓包)

补充几个概念

1.URI、URL与URN
URI是Uniform Resource Identifier,即统一资源标志符
URL是Uniform Resource Locator,即统一资源定位符
URN是Uniform Resource Name,即统一资源名称

其中URL与URN均是URI的子集,简单可理解为URI=URL+URN

故名知意,URL是用来定位的,即可通过这个位置来去到想去的资源;URN只是用来命名资源的,无法定位。
举个栗子,你在图书馆查书时,你是通过询问图书馆管理员或者其他渠道,最后你都是获得那本书在xxx编号,而不是通过书的名字知道这本书在哪,其中书的名字可认为是URN,书的编号是URL,他们组合起来就是一本书的URI。

不过,URI与URN在如今的互联网用的非常少,所以URL也可称为URI。

2.为什么有些网页为显示不安全,原因是?
爬虫学习记录1:通讯协议、网络模型、爬虫分类及常见概念_第3张图片
在这里插入图片描述
如图,安全即会显示一个锁头标志,不安全则输出不安全。

造成这样的原因是,是否是使用HTTPS(超文本加密传输协议,也是在HTTP的基础上进行SSL加密),且有CA机构颁发的CA证书,现如今很多互联网产品的公司都要求使用HTTPS进行网络通信。

*除了HTTP与HTTPS协议外,还有ftp,sftp,smb协议。爬虫几乎是使用HTTP与HTTPS,故在此不做解释(待学)。

你可能感兴趣的:(爬虫学习记录)