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

相关推荐
神色自若44 分钟前
AbpVnext 阿里云ssl证书多个生产环境自动更新
服务器·阿里云·ssl
眰恦ゞLYF3 小时前
服务器类型与TCP并发服务器构建(SELECT)
服务器·select·io多路复用
我好饿13 小时前
Linux入门教程 第十五章 Linux 系统调优工具
linux·运维·网络
万花丛中一抹绿3 小时前
服务器硬件电路设计之 SPI 问答(六):如何提升服务器硬件电路中的性能?如何强化稳定性?
服务器·spi·服务器硬件电路设计
萌虎爱分享3 小时前
Linux 防火墙 (firewalld) 管理完整指南
linux·运维·防火墙·firewalld
2401_888423093 小时前
网络编程-TCP的并发服务器构建
服务器·网络·tcp/ip
mCell7 小时前
Docker 进阶教程
运维·docker·容器
mCell7 小时前
Docker 入门教程
运维·docker·操作系统
祈祷苍天赐我java之术7 小时前
Linux 进阶之性能调优,文件管理,网络安全
java·linux·运维
王火火(DDoS CC防护)8 小时前
服务器网络带宽不足要怎么处理?
运维·服务器