python爬虫

web请求剖析

- 服务器渲染:在服务器那边直接把数据和html整合在一起,统一返回给浏览器(在页面源代码中能看到数据)

- 客户端渲染:第一次请求只要一个html骨架,第二次请求拿到数据,进行数据展示(在页面源代码中看不到数据)

请求头

- User-Agent:请求载体的身份标识(用啥发送的请求)

- Referer:防盗链(这次的请求是从哪个页面来的?反爬中会用到)

- cookie:本地字符串数据信息(用户登录信息,反爬的token)

响应头

- cookie:本地字符串数据信息(用户登录信息,反爬的token)

- 各种神奇的莫名其妙的字符串(一般是token字样,防止各种攻击和反爬)

数据解析

- re正则

-元字符
python 复制代码
.       匹配除换行符以外的任意字符
\w      匹配字母或数字或下划线
\s      匹配任意的空白符
\d      匹配数字
\n      匹配一个换行符
\t      匹配一个制表符


^       匹配字符串的开始
$       匹配字符串的结尾


\W      匹配非字母或数字或下划线
\D      匹配非数字
\S      匹配非空白符
a|b     匹配字符a或字符b
()      匹配括号内的表达式,也表示一个组
[...]   匹配字符组中的字符
[^..]   匹配除了字符组中字符的所有字符
- 量词:控制前面的元字符出现的次数
python 复制代码
*       重复零次或更多次
+       重复一次或更多次
?      重复零次或一次
{n}     重复n次
{n,}    重复n次或更多次
{n,m}   重复n到m次
- 贪婪匹配和惰性匹配
python 复制代码
.*    贪婪匹配:尽可能多的去匹配
.*?   惰性匹配:尽可能少的去匹配
- 用法
python 复制代码
-findall:         匹配字符串中所有的符合正则的内容
-finditer:        匹配字符串中所有的内容[返回的是迭代器],从迭代器中拿到内容需要.group()
-search:          找到一个结果就返回,返回的结果是match对象,拿数据需要.group()
-match:           是从头开始匹配
-re模块中的re.S:   让.可以匹配换行符
- 进一步提取

(?P<分组名字>正则)可以单独从正则匹配的内容中进一步提取内容

相关推荐
Ruiery6 小时前
Linux 6.6内核 CPU 深度解析(七):调度器启动 — 从单核到多核,调度器分阶段点亮
linux·运维·服务器
50万马克的面包6 小时前
CSDN-栈队列数组-知识点整理
linux·运维·服务器
MicrosoftCloud7 小时前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers
꯭自꯭闭꯭8 小时前
达梦事物特性及MVCC
linux·运维·数据库
91刘仁德9 小时前
HTTP协议详解:从URL到HTTP服务器的完整实战
服务器·网络·笔记·网络协议·http
亚川楼宇自控系统数据中心厂家9 小时前
实验室智能化管理系统|人环物智一体化管控平台
运维
zmsup11 小时前
Agent 上下文调优:结合 OpsArk 运维智能体,设计模型每一步真正需要的信息
运维·agent·上下文压缩·运维智能体·上下文调优
吴声子夜歌13 小时前
Nginx应用与运维——Nginx负载均衡应用实战(二)
运维·nginx·负载均衡
lisanmengmeng13 小时前
NRPE 添加命令(一)
linux·运维·服务器
pt104313 小时前
CML网络仿真入门-2:使用CML模拟网络实验环境
运维·网络协议