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

相关推荐
AI科技星24 分钟前
质量定义方程常数k = 4π m_p的来源、推导与意义
服务器·数据结构·人工智能·科技·算法·机器学习·生活
SongJX_1 小时前
DHCP服务
linux·运维·服务器
农夫山泉2号1 小时前
【c++】——c++编译的so中函数有额外的字符
java·服务器·c++
流形填表1 小时前
AI如何做SEO?
运维·人工智能·自动化·seo
[J] 一坚1 小时前
Shell 脚本解锁 curl/iptables/Nginx 日志分析等实战用法
linux·服务器·正则表达式·系统架构·自动化
点亮一颗LED(从入门到放弃)1 小时前
字符设备驱动(5)
linux·运维·服务器
weixin_448119941 小时前
Datawhale 用Markdown语法轻松开发AI应用202512 第1次作业
运维·服务器
失败又激情的man2 小时前
爬虫逆向之云片滑块验证码
爬虫
深蓝电商API2 小时前
从数据采集到商业变现:网络爬虫技术的实战与边界
android·爬虫
西格电力科技2 小时前
面向工业用户的绿电直连架构适配技术:高可靠与高弹性的双重设计
大数据·服务器·人工智能·架构·能源