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<分组名字>正则)可以单独从正则匹配的内容中进一步提取内容

相关推荐
JuiceFS1 天前
从 MLPerf Storage v2.0 看 AI 训练中的存储性能与扩展能力
运维·后端
chen9451 天前
mysql 3节点mgr集群部署
运维·后端
LH_R1 天前
OneTerm开源堡垒机实战(三):功能扩展与效率提升
运维·后端·安全
dessler1 天前
Hadoop HDFS-高可用集群部署
linux·运维·hdfs
少妇的美梦2 天前
logstash教程
运维
chen9452 天前
k8s集群部署vector日志采集器
运维
chen9452 天前
aws ec2部署harbor,使用s3存储
运维
christine-rr2 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
東雪蓮☆2 天前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_264220892 天前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs