爬虫学习之前置知识

爬虫学习(前期知识学习)

一、web请求过程剖析

服务器渲染

这种渲染方式是在服务器端将数据与html整合在一起然后统一返回给浏览器。因此这一种方式在页面源代码中可以看到数据。

客户端渲染

这种方式与服务器渲染有所差异,分为两次请求: ①:只拿到一个html骨架并没有数据 ②:第二次请求则是拿到数据进行数据展示 这一次方式在页面源代码中是看不到数据的。


例如: 在豆瓣上喜剧片排行榜上: 在网页源代码查找关键词"憨豆" 发现并没有结果。接着查看network发现第一次请求只有html的骨架并无后端返回的数据展示。 这与客户端渲染描述一致~

接着往下看后面的请求: toplist排行列表无疑应该是后端返回的响应数据,点开一看第一名与网页显示一致确实是美丽人生的一段json,说明这就是第二次发送的请求。


二、HTTP协议

背景

协议:是两个计算机之间为了能流畅的进行沟通而设置的约定,常见的协议就有HTTP协议、TCP/IP协议、SMIP协议......

HTTP协议:浏览器与服务器之间的数据交互所遵守的协议

HTTP协议把一条信息分为三块内容:

请求

1 请求行:主要是请求方式 请求url地址 协议

2 请求头:放一些服务器要使用的附加信息

{ 请求头中对于爬虫比较重要的内容:

1.User---Agent:请求载体的身份标识(用什么发送的这请求)

2.Referer:防盗链(这次请求从哪个页面来,反爬)

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

4 请求体:放一些请求参数
响应:

1 状态行 :协议 状态码

2 响应头 :放一些客户端要使用的一些附加信息

{响应头中爬虫比较重要的内容:

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

2.各种诡异的字符串跟token类似防止各种攻击与反爬)

3:服务器返回的真正客户端需要的内容

相关推荐
嫂子的姐夫1 小时前
25-jsl:gov公安(全扣补环境版)
爬虫·逆向·加速乐
喵手2 小时前
Python爬虫零基础入门【第九章:实战项目教学·第2节】“接口优先“项目:从 Network 还原 JSON 接口分页!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·接口优先·json接口分页
喵手3 小时前
Python爬虫零基础入门【第九章:实战项目教学·第8节】限速器进阶:令牌桶 + 动态降速(429/5xx)!
爬虫·python·令牌桶·python爬虫工程化实战·python爬虫零基础入门·限速器·动态降速
喵手4 小时前
Python爬虫零基础入门【第九章:实战项目教学·第3节】通用清洗工具包:日期/金额/单位/空值(可复用)!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·通用清洗工具包·爬虫实战项目
喵手4 小时前
Python爬虫零基础入门【第九章:实战项目教学·第4节】质量报告自动生成:缺失率/重复率/异常值 TopN!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·实战项目教学·质量报告自动生成
喵手4 小时前
Python爬虫零基础入门【第九章:实战项目教学·第7节】增量采集:last_time / last_id 两种策略各做一遍!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·增量采集·策略采集
喵手5 小时前
Python爬虫零基础入门【第八章:项目实战演练·第3节】上线与运维入门:定时运行、日志轮转、失败告警(轻量版)!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·定时运行·日志轮转
深蓝电商API5 小时前
Selenium 爬取 Canvas 渲染的数据图表
爬虫·python·selenium
癫狂的兔子6 小时前
【BUG】【Python】【爬虫】爬取加载中的数据
爬虫·python·bug
喵手6 小时前
Python爬虫零基础入门【第九章:实战项目教学·第8节】可观测性:日志规范 + trace_id + 可复现错误包!
爬虫·python·日志规范·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·可复性错误包