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

相关推荐
zzzzzz31018 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode18 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220701 天前
如何搭建本地yum源(上)
运维
太岁又沐风4 天前
复现并修掉ART hook框架 Pine 调用原方法时的偶发 SIGSEGV
爬虫
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz4 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工4 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智4 天前
ARP代理--工作原理
运维·网络·arp·arp代理