re基础

网络基础

1.网络协议

OSI七层模型

应用层 提供应用程序间通信 7
表示层 处理数据格式,数据加密等 6
会话层 建立,维护和管理会话 5
传输层 建议主机端到端连接 4
网络层 寻址和路由选择 3
数据链路层 提供介质访问,链路管理等 2
物理层 比特流传输 1

TCP/IP协议栈

应用层 提供应用此程序网络接口
传输层 建立端到端连接
网络层 寻址和路由的选择
数据链路层 物理介质访问
物理层 二进制数据流传输

SSH:安全外壳协议,基于TCP,使用22号端口,为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

1.1HTTP协议

HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它是基于TCP的应用层协议客户端和服务端进行通信的一种规则,它的模式非常简单,就是客户端发起请求,服务端响应请求。

1.2HTTP请求

GET 从服务器获取指定(请求地址)的资源的信息,它通常只用于读取数据,就像数据库查询一样,不会对资源进行修改。

POST 向指定资源提交数据(比如提交表单,上传文件),请求服务器进行处理。数据被包含在请求正文中,这个请求可能会创建新的资源或更新现有的资源。

PUT 通过指定资源的唯一标识(在服务器上的具体存放位置),请求服务器创建或更新资源。

DELETE 请求服务器删除指定资源。

HEAD 与GET方法类似,从服务器获取资源信息,和GET方法不同的是,HEAD不含有呈现数据,仅仅是HTTP头信息。HEAD的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获得资源的元信息(元数据)。

OPTIONS 该方法可使服务器传回资源所支持的所有HTTP请求方法

1.3HTTP响应

状态行:包含HTTP协议版本,状态码和状态描述,以空格分隔

响应头:即消息报头,包含一系列的键值对

响应正文:返回内容,注意和响应头之间有一个空行

1.4HTTP状态码

1xx消息 --请求已被服务接收,继续处理

2xx成功-- 请求已成功被服务器接收,理解,并接受

200OK

201 Created已创建

202 Accepted接收

203 Non-Authoritative Information 非认证信息

204 No Content 无内容

3XX 重定向 --需要后续操作才能完成这一请求

301 Moved Permanently 请求永久重定向

302 Moved Temporarily 请求临时重定向

304 Not Modified 文件未修改,可以直接使用缓存文件

305 Use Proxy 使用代理

4XX 请求错误--请求含有词法错误或者无法被执行

400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解

401 Unauthorized 请求未经授权,这个状态码必须和WWW-Authenticate报头域一起使用

403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因。

404 Not Found 请求的资源不存在,例如,输入了错误的URL

5xx 服务器错误--服务器在处理某个正确请求时发生错误

500 Internal Server Error服务器发生不可预期的错误,导致无法完成客户端的请求

503 Service Unavaiable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常

504 Gateway Time-out 网关超时

image-20240819234557827

image-20240819234754813

2.requests模块的深度解析

2.1 requests模块的安装
2.2 requests模块的基本请求方法
2.3 requests模块保持登录凭据
2.4 requests设置代理

IP池和隧道代理的区别

IP池:动态IP池中获取的是大量的IP,需要爬虫自己切换代理IP,并发送请求

代理隧道:只需要将请求发给隧道,由隧道自行选择可用代理并转发请求

3.正则表达式

常用元字符

. 匹配换行符以外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\n 匹配一个换行符
\t 匹配一个制表符
^ 匹配字符串的开始
$ 匹配字符串的结尾
\W 匹配非字母或数字或下划线
\D 匹配非数字
\S 匹配非空白符
a|b 匹配字符a或字符b
() 匹配括号内的表达式,也表示一个组
[...] 匹配字符组中的字符
[^...] 匹配除了字符组中字符的所有字符

量词:控制前面的元字符出现的次数

* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
重复n次
重复n次或更多次
重复n到m次

贪婪匹配和惰性匹配

.* 贪婪匹配,尽可能多的去匹配结果
.*? 惰性匹配,尽可能少的去匹配结果 ->回溯算法
posted @ 2024-08-23 09:28  无悔的选择  阅读(18)  评论(0)    收藏  举报