打卡学习Python爬虫第二天|Web请求过程刨析

news2024/12/25 15:39:05

一、服务器渲染

服务器端渲染(Server-Side Rendering,简称SSR)是一种网页渲染技术。在这种技术中,服务器在接收到客户端的请求后,会生成页面的初始HTML内容,并将其发送给客户端。客户端浏览器接收到这些HTML内容后,直接进行解析和渲染,呈现给用户。这种模式下,页面的大部分内容在服务器端已经渲染完成,因此页面加载速度相对较快,并且对搜索引擎友好。但是,交互式的内容和功能需要等待客户端的JavaScript代码执行完成后才能实现。

流程如图: 

百度搜索科比,得到相关内容: 

查看该页面的源代码:

 

直接在网页的HTML代码中可以找到相同的内容! 在服务器上直接把数据和HTML整合在一起,统一返回浏览器就是服务器渲染。页面源代码中有数据。

二、客户端渲染 

客户端渲染(Client-Side Rendering,简称CSR)是网页渲染的另一种常见模式。在这种模式下,服务器主要负责返回一个基本的HTML页面结构以及必要的JavaScript和CSS文件。客户端的浏览器通过执行这些JavaScript代码来请求数据,并根据数据动态生成页面内容。 

客户端渲染在第一次请求时只得到一个HTML骨架和必要的Js和CSS ,第二次请求才能拿到数据,进行数据展示,在页面源代码中看不到数据。

 问题来了,HTML页面中没有数据,那么第二次请求要怎么去得到数据呢?

使用浏览器抓包工具

1、在相应的页面按F12或者右键-->检查

2、点击网络后,按Ctrl+R刷新页面

 找到第一次请求的url,预览看效果:

我们会发现只有简单的骨架,并没有我们需要的数据: 

3、继续往下,直到找到数据

 这时候点击标头就能得到我们需要的url:

将这个url复制到浏览器搜索,我们就能看到一个标准的json类型的数据:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2050501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是BKP(备份寄存器)

一,什么是BKP 备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。他们处在备份域里,当VDD电源被切断,他们仍然由VBAT维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也…

数据结构(6.2_2)——领接表法

领接表法(顺序存储链式存储) 代码: #define MaxVertextNum 10 //边(弧) typedef struct ArcNode {int adjvex;//边/弧指向哪个结点struct ArcNode* next;//指向下一条弧的指针//InfoType info;//边权值 }ArcNode; //顶点 typedef struct VNo…

小阿轩yx-Docker Swarm 管理

小阿轩yx-Docker Swarm 管理 容器编排部署工具 除 Google 推出的 Kubernetes 之外,还有 Docker 发布的 Swarm 与 Mesos 推出的 Marathon 案例一 Docker Swarm 群集部署 Docker 自诞生以来,容器特性以及镜像特性给 DevOps 爱好者带来很多方便很长时间…

基本数据统计分析上|集中位置统计量|分散程度统计量|分布形状统计量|常见概率分布

数据统计分析 现实生活中的许多数据都是随机产生的,如考试分数,月降雨量,灯泡寿命等。从统计角度来看,这些数据其实都是符合某种分布的,这种分布就是统计规律性 在数学建模过程中经常与数据打交道,需要进行…

【鸟哥的Linux私房菜(七)之文件IO】

文章目录 C语言文件IOC语言文件接口汇总什么是当前路径?默认打开的三个流 系统文件I/Oopenopen的第一个参数open的第二个参数open的第三个参数open的返回值 closewriteread 文件描述符fd文件描述符的分配规则重定向重定向的原理dup2添加重定向功能到minishell FILEF…

微乐校园pf

TOC springboot451微乐校园pf 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这…

vue3中引入插件报ts报错Could not find a declaration file for module

引入第三方组件时,下载了组件还是报ts错误Could not find a declaration file for module 解决办法 1. 下载这个插件的ts库(有的没有ts库就用下面这种方式) 2. 在src下创建一个shims-vue.d.ts文件(简单直接,我用的这种…

DNS域名解析服务理论详解(域名结构、递归查询和迭代查询、CDN)

文章目录 DNS域名解析服务1.DNS系统的概念2.DNS系统的主要作用3.DNS的分布式数据结构和域名的结构4.DNS服务器类型4.1三种类型4.2分布式数据库4.3名词解释 5.CDN技术5.1CDN的基本原理5.2CDN的主要功能 6.DNS查询类型及原理6.1查询方式6.2查询原理过程6.3本地主机的DNS映射文件 …

基于Hadoop的物品租赁系统的设计与实现 9349a--论文

TOC springboot344基于Hadoop的物品租赁系统的设计与实现 9349a--论文 绪 论 1.1开发背景 随着网络的飞速发展,网络技术的应用越来越广泛,而信息技术的飞速发展,计算机管理系统的优势也逐渐体现出来,大量的计算机电子信息已经…

Python | 数据处理中常用的数据分布介绍

数据分布是指数据在统计图中的形状和特征,即数据取值的统计规律。在统计学中,数据分布是描述数据集中数值分布情况和规律的重要工具。通过数据分布,可以了解数据的集中程度、分散程度、偏态和峰态等信息,进而对数据进行合理的分析…

95后医疗行业女性转型记:如何成功踏入人工智能项目管理领域

分享目录 一、自我介绍,给大家分享一下拿到offer的心情吧 二、在整个求职转型陪跑营里,你收获最大的三个点是什么? 三、求职转行过程中,你遇到了哪些困难?七芊老师和强哥是怎么帮助你的?你是怎么走过来的…

Bellman_ford算法

使用Dijikstra算法求最短路问题,要求图中不能存在负长度的边,也就是负权边 为什么Dijikstra算法不能用来求含有负权边的图中的最短路问题? Bellman_ford算法 mention(1): 没有挑选路径长度距离编号 1 结…

[Datawhale AI夏令营 2024 第四期] 从零入门大模型微调之旅的总结

0. 引言: 在人工智能飞速发展的今天,掌握大模型微调技能对于从事 AI 研究和开发的专业人士来说至关重要。因此,Datawhale AI夏令营 2024 第四期] 从零入门大模型微调之旅;顺便参加了星火大模型驱动阅读理解题库构建挑战赛。 1. …

XSS--DOM破坏案例与靶场

靶场连接https://xss.pwnfunction.com/challenges/ 目录 Ma SPaghet! Jeff Ugandan Knuckles Ricardo Milos Ah Thats Hawt Ligma Mafia Ok,Boomer Ma SPaghet! <!-- Challenge --> <h2 id"spaghet"></h2> <script>spaghet.innerHT…

【嵌入式开发 Linux 常用命令系列 4.5 -- 去除 git diff 时出现的 ^M】

请阅读【嵌入式及芯片开发学必备专栏】 文章目录 去除 git diff 时出现的 ^Mgit config --global core.whitespace cr-at-eol选项解释 为什么使用 cr-at-eol如何配置使用示例纠正行尾回车符Sumamry 去除 git diff 时出现的 ^M git config --global core.whitespace cr-at-eol …

day23 Java基础——数组详解

day23 Java基础——数组(array) 文章目录 day23 Java基础——数组(array)1. 数组的概述2. 数组的声明和创建2.1 声明数组2.2 创建数组2.3 内存分析2.4 数组的三种初始化静态初始化动态初始化数组的默认初始化 3. 数组的使用3.1 访问数组元素3.2 数组的遍历3.3 数组的复制3.4 数…

微服务通过nacos实现动态路由

♥️作者&#xff1a;小宋1021 &#x1f935;‍♂️个人主页&#xff1a;小宋1021主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识&#xff0c;和大家一起努力呀&#xff01;&#xff01;&#xff01; &#x1f388;&#x1f388;加油&#xff01; 加油&#xff01…

08结构型设计模式——适配器模式

一、适配器模式简介 适配器模式&#xff08;Adapter Pattern&#xff09;是结构型设计模式之一&#xff0c;用于将一个类的接口转换成客户希望的另一个接口。这个模式使得原本接口不兼容的类可以在一起工作。适配器模式的核心目的是实现接口兼容性&#xff0c;使得系统能够使用…

C/C++软件逆向:IDA基本使用

这篇文章主要来说一下IDA的基本使用&#xff0c;那么在此之前先来准备一个简单的程序&#xff0c;作为IDA使用的实例。VS 创建一个C项目&#xff0c;并设置项目属性&#xff1a;设置运行库为MTd&#xff08;默认是MDd&#xff09; 运行库选项区别&#xff1a; 在Visual Studio…

Git使用速通

目录 一、Git相关配置系统配置文件存放处用户配置文件所在地用户名称和e-mail地址 二、初始化仓库git init——初始化仓库git status——查看仓库的状态git add——向暂存区中添加文件git commit——保存仓库的历史记录 三、版本回退与文件修改git log——查看提交日志git refl…