网页基础三剑客

目录

一、网页开发技术

1.HTML

2.CSS

3.JavaScript

二、网页的结构

三、 网页的分类

1.静态网页

2.动态网页

1.jQuery

2.AJAX

3.DHTML

2.3.4 网页数据的格式

1.XML

2.JSON


一、网页开发技术

        网页可以看作承载各种网站应用和信息的容器,它包含文字、图像、超链接、音频、视
频以及动画等内容。通过查看网页的源代码可知,网页实际上是一个 HTML 文件。该文件包
含了一些特殊符号和文本,可通过特殊符号和文本对文字、图片、表格、声音等进行描述。
        常用的网页开发技术包括 HTML CSS JavaScript 。其中, HTML 用于描述网页中的
内容,如文本、图片、声音等; CSS 用于设定网页的元素样式、页面布局; JavaScript 用于
向网页添加交互行为,如验证用户登录信息。下面分别对 HTML JavaScript CSS 进行
介绍。

1.HTML

        HTML 的英文全称为 Hyper Text Markup Language ,即超文本标记语言,是一种用于创建
网页的标准标记语言。一个 HTML 文档由一系列的 HTML 元素组成, HTML 元素的组成如
2-5 所示。
                        
        在图 2-5 中,开始标签、内容、结束标签组合在一起便构成了一个完整的 HTML 元素,
关于各部分的说明如下。
  • 开始标签:标识元素的起始位置,由尖角括号包裹着元素名称,如图 2-5 中的<h1>
  • 结束标签:标识元素的结束位置,与开始标签相似,只不过在元素名称之前多了一个
/ ”,如图 2-5 中的 </h1>
  •  内容:表示元素的内容,位于开始标签和结束标签之间,如图 2-5 中的“今天天气
真好!”。
HTML 中提供了许多标签,用于描述网页中的内容, HTML 的常用标签及说明如表 2-4
所示。

2.CSS

        CSS( Cascading Style Sheets )通常称为 CSS 样式或层叠样式表,主要用于设置 HTML
面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽、高、边框样式等)以及版面
的布局等外观显示样式。 CSS HTML 为基础,它不仅可以提供丰富的控制字体、颜色、背
景及整体排版的功能,而且可以针对不同的浏览器设置不同的样式。例如,通过 CSS 控制登 录页面中文字的大小、字体和背景颜色,如图 2-6 所示。

3.JavaScript

        JavaScript 是一门独立的网页脚本编程语言,它可以做很多事情,但主流的应用是在 Web
上创建网页特效或验证信息。例如,使用 JavaScript 脚本语言对用户输入的内容进行验证。如
果用户在用户名文本框和密码文本框中未输入任何信息,那么单击“登录”按钮后将弹出相
应的提示信息,如图 2-7 所示。

 

二、网页的结构

        如果想要了解一个网页的结构,我们可以直接在浏览器打开的快捷菜单中选择“检查”
命令。例如,使用 Chrome 浏览器打开百度首页,通过“检查”命令查看百度首页的网页结构
如图 2-8 所示。
        从图 2-8 中可以看出,百度首页的源代码包含了众多 HTML 元素。这些 HTML 元素是互
相嵌套的,具有明显的层级关系,例如, <head> 元素与 <body> 元素属于同级关系, <body>
素与 <script> 元素存在父子关系。
        HTML 页面中使用文档对象模型( Document Object Model DOM )来描述 HTML 页面的
层次结构。 DOM 出现的目的是将 JavaScript HTML 文档的内容联系起来,通过使用 DOM
可以在 HTML 文档中添加、移除和操作各种元素。

 

        根据互联网联盟(World Wide Web Consortium W3C )的 HTML DOM 标准, HTML DOM
由节点组成, HTML 文档的所有内容都是节点,整个 HTML 文档是一个文档节点,每个 HTML
元素是元素节点,每个 HTML 属性是属性节点,每个注释是注释节点。
        把一个 HTML 文档中的所有节点组织在一起,就构成一棵 HTML DOM 树。这些节点之
间存在层级关系, HTML DOM 节点树如图 2-9 所示。

 

        在图 2-9 中, HTML DOM 节点树通过父、子以及兄弟等术语描述节点之间的关系。例如,
<html> 内部嵌套了 <head> ,它们属于父子关系; <head> <body> 属于相同层级的节点,它们
属于兄弟关系。根据节点之间的关系,我们可以快速定位元素的位置。

三、 网页的分类

网页可以分为静态网页、动态网页两种类型。关于这两种网页的介绍如下。

1.静态网页

        静态网页包含的诸如文本、图像、Flash 动画、超链接等内容,在编写网页源代码时已经
确定。除非网页源代码被重新修改,否则这些内容不会发生变化。例如,edge浏览器首页就是一个静态网页,具体如图 2-10 所示。

 

 静态网页具有以下几个特点。

  • 静态网页的内容相对稳定,一旦上传至网站服务器,无论是否有用户访问,内容都会
一直保存在网站服务器上。
  •  静态网页被访问的速度快,访问过程中无须连接数据库。
  • 静态网页没有数据库的支持,内容更新与维护比较复杂。
  •  静态网页的交互性较差,在功能方面有较大的限制。
        值得一提的是,静态网页上展示的内容并非完全静止的,它也可以有各种视觉上的动态
效果,如 GIF 动图、 Flash 动画、滚动字幕等。

2.动态网页

        相比静态网页,动态网页有数据库支撑、包含程序以及提供与用户交互的功能,如用户
登录、用户注册、信息查询等功能,根据用户传入的不同参数,网页会显示不同的数据。例
如,登录某网站后查询百度公司信息的页面是一个动态网页,如图 2-11 所示。
动态网页具有以下一些特点。
  •  动态网页一般以数据库技术为基础。
  •  动态网页并不是独立存在于服务器上的网页文件,只有当用户发送请求时,服务器才
会返回完整的网页。
  •  采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、
用户管理、订单管理等。
        对于网络爬虫来说,静态网页的内容都写在源代码中,比较容易抓取;动态网页的内容
不一定写在网页源代码中,可能需要用户登录后才能显示完整,这增加了抓取难度。
多学一招:动态网页上使用的技术
        这里所说的动态网页是在网页中依赖 JavaScript 动态加载数据的网页,使用了 JavaScript
的网页能够在 URL 不变的情况下改变网页的内容。动态网页上使用的技术主要包括 jQuery
AJAX DHTML ,关于这几种技术的介绍如下。

1jQuery

        jQuery 是一个快速、简洁的 JavaScript 框架,于 2006 1 月由 John Resig (约翰 · 瑞森)
发布。该框架的设计宗旨是“ write less, do more ”,即写更少的代码,做更多的事情。 jQuery
框架中封装了 JavaScript 常用的代码,并对一些功能进行了优化,包括 HTML 文档操作、事
件处理、动画设计等。
        如果一个网站中使用了 jQuery 框架,那么我们可以在网页源代码中看到 jQuery 入口,具
体代码如下。
<script type="text/javascript" 
src="https://statics.huxiu.com/w/mini/static_2015/js/jquery-1.11.1.min.js?v=201
512181512"></script>
需要注意的是, jQuery 可以动态地生成 HTML 内容,但只有在 JavaScript 代码执行之后
才会显示。

2AJAX

        AJAX(异步 JavaScript XML )并不是一门新的编程语言,而是一种用于创建又快又好
和交互性强的 Web 应用程序的技术。使用了 AJAX 技术的 Web 应用程序能够快速地将增量更
新呈现在用户界面上,而不需要重载整个页面,这使得该程序能够快速地回应用户的操作。
如果用户提交表单,或者从服务器获取响应信息之后,网站的页面不需要重新刷新,那
么当前访问的网站便使用了 AJAX 技术。

3DHTML

        DHTML 是 Dynamic HTML 的简称,它其实并不是一门新的语言,而是 HTML CSS
客户端脚本的集成。 DHTML 可以通过客户端脚本改变网页元素( HTML CSS ,或者二者皆
被改变),例如,按钮每次被单击后改变其背景色。
网页是否属于 DHTML ,关键要看有没有用 JavaScript 控制 HTML CSS 元素。

2.3.4 网页数据的格式

        互联网包含了许多数据,这些数据一般分为非结构化数据、结构化数据两种类型。其中
非结构化数据是指数据结构不规则或不完整,没有预定义的数据模型,不方便使用数据库二
维表结构表现的数据,包括文本、图片、 HTML 等;结构化数据是方便使用二维表结构表现
的数据,这种数据严格遵循数据格式与长度规范,包括 XML JSON 等。
对于网络爬虫而言,它经常需要解析 HTML XML JSON 类型的数据,我们在前面介
绍过 HTML ,所以在这里主要对 XML JSON 进行介绍。

1.XML

XML Extensible Markup Language 的缩写,它是一种类似于 HTML 的标记语言,称为
可扩展标记语言。可扩展指的是用户可以按照 XML 规则自定义标记。 XML 片段如图 2-12
所示。

                         

        在图 2-12 中, <employees> <employee> <firstName> <lastName> 都属于 XML 元素,
每个元素由开始标记和结束标记组成,必须是成对出现的。 <employees> 元素是整个 XML
段的根元素,它包含了 3 <employee> 子元素,每个 <employee> 元素又包含了 <firstName>
<lastName> 2 个子元素。在 XML 文档中,通过元素的嵌套关系可以很准确地描述具有树状
层次结构的复杂信息。

2.JSON

        JSON( JavaScript Object Notation JavaScript 对象表示法)是一种轻量级的数据交换格式, 它采用完全独立于编程语言的文本格式存储和表示数据。JSON 具有简洁、清晰的层次结构, 便于人们阅读和编写,同时便于机器解析和生成,是理想的数据交换语言。JSON 片段如图 2-13 所示。

 

        在图 2-13 中,花括号用于容纳 JSON 对象,方括号用于容纳数组。 JSON 数据写为名称 /
值对,名称与值之间以冒号进行分隔,例如, "firstName": "Bill""lastName": "Gates" 等。由图
2-13 可知,最外层的花括号中有一个 JSON 对象,对象的名称为 employees ,值为一个数组。
该数组包含多个对象,每个对象包含两个名称 / 值对。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

刷代码随想录有感(111):动态规划——零钱兑换II

干&#xff0c;被上了一课。注意题干&#xff0c;到底是求能装最大价值的方案还是装满这个容量共有多少种方法。他们的公式都不同&#xff0c;最大价值的方案是&#xff1a; dp[j] max(dp[j], dp[j - weight[i]] value[i]); 而装满有多少种方法是&#xff1a; dp[j] dp[j…

yum的概念、相关命令、ftp http部署步骤;NFS共享文件操作步骤

目录 yum 配置文件 缓存功能操作步骤 创建并配置本地仓库文件 yum相关命令 yum install __ yum repolist yum list __ yum info __ yum search __ yum whatprovides __ yum remove __ yum -y update __ yum history yum grouplist yum groupinstall "__&q…

小程序 获取插件用户openpid?

接口英文名 getPluginOpenPId 功能描述 通过 wx.pluginLogin 接口获得插件用户标志凭证 code 后传到开发者服务器&#xff0c;开发者服务器调用此接口换取插件用户的唯一标识 openpid。 调用方式 HTTPS 调用 第三方调用 调用方式以及出入参和HTTPS相同&#xff0c;仅是调…

AXI学习笔记

文章目录 AXI口诀&#xff1a;AXI三种总线&#xff0c;三种接口&#xff0c;一个协议背景知识一、 AMBA&#xff1a;二、AXI2.1 通信协议与握手机制2.2 AXI协议特点2.3 三种AXI总线类型&#xff08;AXI4、AXI4-lite、AXI4-stream&#xff09;2.3.1 AXI通道&#xff08;5通道&am…

通信系统概述

1.定义 通信系统&#xff08;也称为通信网络&#xff09;是利用各种通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来&#xff0c;依靠网络软件及通信协议实现资源共享和信息传递的系统。 2.概述 随着通信技术和网络技术的不断发展&#xff…

『 Linux 』 进程间通信 - 匿名管道

文章目录 什么是管道匿名管道的直接原理pipe( )系统调用接口匿名管道代码示例匿名管道的特征总结 什么是管道 管道(Pipe) 是一种基本的进程间通信(IPC)机制,允许一个进程与另一个进程之间进行数据传输; 管道工作方式类似于生活中的水管因此命名为管道,数据从一端流入另一段流出…

技术分享 | 基于 API 解析的 Python 爬虫

最近各大高校纷纷翻拍 Coincidence 抖肩舞&#xff0c;需要对这种流行现象进行数据分析。数据分析首先需要有数据&#xff0c;本文介绍了爬取 B 站相应视频的评论、弹幕、播放量、点赞数等数据的方法。爬虫有多种实现方法&#xff0c;大型的网络爬虫多基于成熟的爬虫框架&#…

2-12 基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪

基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪。输出跟踪轨迹及其误差。程序已调通&#xff0c;可直接运行。 2-12 CV模型卡尔曼滤波 CT模型卡尔曼滤波 - 小红书 (xiaohongshu.com)

基于jeecgboot-vue3的Flowable流程-自定义业务表单处理(一)支持同一个业务多个关联流程的选择支持

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 这部分先讲讲支持自定义业务表单一个业务服务表单多个流程的支持处理 1、后端mapper部分 如下&#xff0c;修改selectSysCustomFormByServiceName为list对象&#xff0c;以便支持多个 &…

卫星导航与gazebo仿真

全球卫星导航系统(Global Navigation Satelite System,GNSS)&#xff0c;简称卫星导航&#xff0c;是室外机器人定位的一个主要信息来源。 卫星导航能给机器人提供什么信息&#xff1f; 正常工作时&#xff0c;实际上可以提供机器人所需的所有定位信息&#xff0c;包括&#x…

【例子】webpack配合babel实现 es6 语法转 es5 案例 [通俗易懂]

首先来说一下实现 es6 转 es5 的一个简单步骤 1、新建一个项目&#xff0c;并且在命令行中初始化项目 npm init -y2、安装对应版本的 webpack webpack-cli(命令行工具) "webpack""webpack-cli"3、安装 Babel 核心库和相关的 loader "babel-core&qu…

K8s 如何集成ChatGPT?

文章目录 1. 什么是K8s&#xff1f;2. 集成K8s和大模型的效果3. ChatGPT监测K8s集群Demo4.可预想的实践用例5. 结论 1. 什么是K8s&#xff1f; 熟悉云原生领域的朋友对 K8s 一定不会陌生。K8s&#xff08;Kubernetes&#xff09;是一个开源的容器编排平台&#xff0c;用于自动…

《华为项目管理之道》第1章笔记

《华为项目管理之道》&#xff0c;是新出的华为官方的项目管理书&#xff0c;整个书不错。第1章的精华&#xff1a; 1.2.2 以项目为中心的机制 伴随着项目型组织的建立&#xff0c;华为逐步形成了完备的项目管理流程和制度&#xff0c;从而将业务运 作构建在项目经营管理之…

生成模型的两大代表:VAE和GAN

生成模型 给定数据集&#xff0c;希望生成模型产生与训练集同分布的新样本。对于训练数据服从\(p_{data}(x)\)&#xff1b;对于产生样本服从\(p_{model}(x)\)。希望学到一个模型\(p_{model}(x)\)与\(p_{data}(x)\)尽可能接近。 这也是无监督学习中的一个核心问题——密度估计…

STM32——温湿度采集与显示

一、I2C协议 关于I2C协议的基本原理和时序协议 12C协议使用两条线&#xff1a;SDA&#xff08;Serial Data Line&#xff0c;串行数据线&#xff09;和SCL&#xff08;Serial Clock Line&#xff0c;串行时钟线&#xff09;。这两条线都是开漏输出&#xff0c;意味着它们需要上…

智能网联汽车实训教学“好帮手”——渡众机器人自动驾驶履带车

智能网联汽车实训教学“好帮手”——渡众机器人自动驾驶履带车 人工智能技术的兴起&#xff0c;为传统汽车行业注入了强有力的变革基因&#xff0c;以AI技术为驱动的无人驾驶成为汽车产业的未来&#xff0c;同样也面临诸多机遇和挑战。 一方面智能网联汽车的发展&#xff0c;为…

基于TensorFlow和OpenCV的物种识别与个体相似度分析【附完整源码】Flask网页版

一、OpenCV与TensorFlow介绍 1. 什么是OpenCV OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库。OpenCV由英特尔公司在1999年发起&#xff0c;并在2000年以开源的方式发布。该库被设计为高效的计算机视觉应用程序…

OpenHarmony-HDF驱动框架介绍及加载过程分析

前言 HarmonyOS面向万物互联时代&#xff0c;而万物互联涉及到了大量的硬件设备&#xff0c;这些硬件的离散度很高&#xff0c;它们的性能差异与配置差异都很大&#xff0c;所以这要求使用一个更灵活、功能更强大、能耗更低的驱动框架。OpenHarmony系统HDF驱动框架采用C语言面…

UE5近战对抗系统Tutorial

文章目录 BP_Character 组合攻击Notify State 检测攻击BP_Character 攻击反馈BP_Character 生命系统BP_Character 死亡效果BP_Character 武器系统BP_Enemy 初始化和行为树 BP_Character 组合攻击 首先我们获取攻击动画&#xff0c;在这里使用的是 Easy Combo Buffering 的攻击…

Nature推荐:快速完成一篇论文,你只需要这 12 个技巧!

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 当你面对空白屏幕&#xff0c;苦思冥想数小时、数日甚至数月后&#xff0c;仍然没办法搞定论文。你该怎么办&#xff1f; 写作障碍虽然普遍存在&#xff0c;但对需要发表论文…