爬虫基础:Web网页基础

news2024/12/25 23:47:29

爬虫基础:Web网页基础

  • 前言
  • Web网页基础
    • 网页的组成
    • 网页的结构
    • 节点树及节点间的关系
    • 选择器

前言

  • 用浏览器访问不同的网站时,呈现的页面各不相同,你有没有想过为何会这样呢?了解一下网页的组成、结构和节点等内容。了解这些内容有助于我们进一步了解爬虫的基本原理。
  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自然语言处理专栏或我的个人主页查看
  • 基于DETR的人脸伪装检测
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • YOLOv5:TensorRT加速YOLOv5模型推理
  • YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • 玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测
  • YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制
  • YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层
  • Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集
  • YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)
  • 使用Kaggle GPU资源免费体验Stable Diffusion开源项目

Web网页基础

Web网页基础主要包括网页的构成元素以及相关的开发技术。

首先,网页通常由结构、样式和行为这三个方面组成。具体来说,结构由HTML(Hyper Text Markup Language,超文本标记语言)来定义,它用于描述网页的内容和结构,并通过标签来定义元素,如标题、段落、链接等。样式则由CSS(Cascading Style Sheets,层叠样式表)来负责,它描述了网页的呈现方式,包括颜色、字体、布局等。而行为则通过JavaScript来实现,它负责网页的交互和动态效果。

在网页开发中,还需要掌握一些前端框架和工具,如Angular、React、Vue.js等,它们提供了一系列工具和组件,简化了前端应用程序的开发。同时,为了确保数据传输的安全性,SSL/TLS技术也常用于加密Web传输中的数据。

此外,后端开发技术也是Web网页基础的重要组成部分,包括服务器端语言(如PHP、Python、Ruby、Java等)用于处理客户端发送的请求并生成动态网页内容,以及数据库用于存储和管理应用程序的数据。

总的来说,Web网页基础涉及多个方面,包括HTML、CSS、JavaScript等前端技术,以及后端开发技术和数据库等。掌握这些基础知识对于开发一个功能完善、用户体验良好的Web应用至关重要。

网页的组成

网页的组成主要包括以下几个部分:

  1. 文本:这是网页的主要内容,包括标题、段落、列表、链接等。文本内容通过HTML标签进行描述和定位,使浏览器能够正确地解析和显示。

  2. 图片:图片是网页中常见的元素,用于展示各种视觉信息,如产品图片、背景图、图标等。HTML中使用<img>标签来插入图片,并可以通过属性指定图片的URL、大小等。

  3. 音频和视频:随着多媒体技术的发展,音频和视频也逐渐成为网页中不可或缺的元素。HTML5引入了<audio><video>标签,使得在网页中嵌入音频和视频文件变得更加简单。

  4. 超链接:超链接是网页的重要组成部分,它允许用户点击后跳转到其他网页或网站。HTML中使用<a>标签来创建超链接,通过href属性指定链接的目标地址。

  5. 表格:表格用于展示数据,可以清晰地排列和比较信息。

  6. 表单:表单是网页中用于收集用户输入信息的元素,如搜索框、登录框等。HTML中使用<form>标签来创建表单,并通过各种输入类型(如文本框、单选框、复选框等)来收集用户数据。

  7. 框架:框架可以将一个浏览器窗口划分为多个区域,每个区域可以独立加载不同的网页。虽然框架在早期的网页设计中较为常见,但现代网页设计中较少使用,因为框架会影响网页的可访问性和响应性。

除了以上基本元素外,网页的组成还可能包括各种插件、脚本(如JavaScript用于实现交互效果)、CSS样式表(用于控制网页的外观和布局)等。这些元素共同构成了网页的完整内容和功能。同时,随着Web技术的不断发展,新的元素和特性也在不断被引入到网页设计中。

网页的结构

网页的结构主要由以下几个关键部分组成:

  1. 页面结构:页面结构主要包括导航栏、栏目以及正文内容。

    • 导航栏:导航栏是网站频道入口的集合区域,相当于网站的菜单,用户可以通过导航栏快速找到所需的信息或页面。
    • 栏目:栏目是指网页中存放相同性质内容的区域。通过对内容进行合理的分类和组织,栏目可以帮助用户更快速地获取所需信息。
    • 正文内容:正文内容是页面的主体部分,如文章、产品介绍等。这部分内容通常与页面的主题紧密相关,是用户访问页面时最关注的部分。
  2. 布局结构:网页的布局结构决定了页面元素的排列和组合方式,常见的布局结构有右框型、目字型、曰字形对称等。

    • 右框型布局:顶部为网站Logo和banner,下方左侧为菜单,右侧为主要内容。这种布局结构清晰明了,适合初学者。
    • 目字型布局:在右框型布局的基础上,增加一个竖列,缩小中间内容的宽度,并将菜单和导航集中在上方和下方横列中。
    • 曰字形对称布局:具有强烈的反差对比和视觉冲击力,可以是上下对称或左右对称。
  3. HTML标签:HTML是构成网页的基础,通过HTML标签可以描述网页的结构和内容。HTML标签分为块级元素和内联元素,块级元素如<div><p>等,用于定义页面中的区块;内联元素如<span><a>等,用于定义页面中的文本或其他内联内容。

  4. CSS样式:CSS用于控制网页的样式和布局,包括颜色、字体、边距、背景等。通过CSS,可以实现对网页的精细化控制,使其呈现出美观、易用的界面。

  5. 响应式设计:响应式设计是指网页能够根据设备的屏幕大小和分辨率自动调整布局和样式,以确保在各种设备上都能获得良好的用户体验。这通常通过媒体查询和百分比宽度等方式实现。

综上所述,网页的结构是一个综合性的概念,涉及页面元素的组织、布局、HTML标签和CSS样式等多个方面。一个合理的网页结构不仅能够提高用户体验,还有助于提升网站的搜索引擎排名和可访问性。

节点树及节点间的关系

节点树和节点间的关系是计算机编程和数据结构中常见的概念,尤其在处理如XML、HTML等树形结构的数据时。下面是对节点树和节点间关系的解释:

节点树

节点树是一种数据结构,用于表示层次关系或父子关系。在节点树中,每个节点可能有一个或多个子节点,而每个子节点只有一个父节点(除了根节点,它没有父节点)。这种结构允许我们以一种直观和有序的方式表示和访问数据。

在HTML或XML文档中,节点树是文档结构的直观表示。每个元素、属性、文本内容等都被视为一个节点,节点之间通过父子、兄弟等关系连接,形成一个整体的树形结构。

节点间的关系

  1. 父节点与子节点:在节点树中,一个节点(称为父节点)可以有一个或多个子节点。子节点是父节点下一级的节点。每个子节点都只有一个父节点,但一个父节点可以有多个子节点。
  2. 兄弟节点:拥有相同父节点的节点被称为兄弟节点。在节点树中,兄弟节点位于同一层级,并共享相同的父节点。
  3. 祖先节点与后代节点:从根节点到任意节点的路径上的所有节点都是该节点的祖先节点,包括根节点和该节点的所有父节点。而从任意节点到其叶子节点(没有子节点的节点)的所有节点都是该节点的后代节点,包括该节点本身和其所有子节点。

在编程中,理解和处理这些节点间的关系是非常重要的,因为它们允许我们有效地遍历和操作节点树,实现如搜索、插入、删除等操作。例如,在DOM(文档对象模型)操作中,我们可以使用这些关系来访问和修改HTML文档的结构和内容。

请注意,不同的编程语言和框架可能具有不同的术语和方法来表示和处理节点树及节点间的关系,但基本概念是相似的。

选择器

选择器是编程和网页开发中用于定位和操作特定元素的重要工具。其基本概念和用法在不同语境下可能有所差异,但核心功能都是根据一定的规则或模式来选取目标对象。

在CSS中,选择器用于选择需要添加样式的元素,确定HTML的树形结构中的DOM元素节点。它们有多种类型,如标签选择器、id选择器和类选择器。标签选择器通过标签名直接选中标签,对整个标签进行统一样式的更改。id选择器是对标签中的特定元素进行样式设定,进行针对性的更改,但id选择器具有唯一性,无法重复。类选择器则更为灵活和方便,可以在标签上定义class属性,并指定值,然后让这个值作为选择器来使用。

在JavaScript中,选择器同样是一种强大的工具,用于从HTML文档中选择和操作元素。常见的选择器类型包括ID选择器和类选择器。ID选择器使用元素的id属性来选择元素,而类选择器选择具有相同类名的元素。通过选择器,可以轻松地找到特定的元素,并对其进行各种操作,比如修改样式、添加事件监听器或者改变内容。

此外,在某些编程语境中,选择器也可以用于定义和处理节点树及节点间的关系。节点树是一种数据结构,用于表示层次关系或父子关系,而选择器则可以根据这些关系来定位和操作特定的节点。

总的来说,选择器在编程和网页开发中扮演着至关重要的角色,它们使得开发者能够精确地选择和操作目标元素,从而实现各种复杂的功能和效果。

在这里插入图片描述

  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自然语言处理专栏或我的个人主页查看
  • 基于DETR的人脸伪装检测
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • YOLOv5:TensorRT加速YOLOv5模型推理
  • YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • 玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测
  • YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制
  • YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层
  • Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集
  • YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)
  • 使用Kaggle GPU资源免费体验Stable Diffusion开源项目

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

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

相关文章

超长爬电结构法蓝底板平面(厚膜、无感设计)中功率电阻

灌封胶封装设计 厚膜无感电阻规格书 EAK特殊设计的模压灌封胶结构设计&#xff0c;使本产品具备超长的 爬电距离&#xff0c;符合VDE0160和UL94-V0的标准。 技术特点 底板中心温度≤85C时,单一电阻结构额定 功率为150W。 四种封装结构&#xff0c;最多封装三个电阻。 2-…

【ChatGLM3-6B】本地大模型使用方法详细教程!!!内含详细的代码解析!!

ChatGLM3介绍 ChatGLM3 是智谱AI与清华大学KEG实验室联合发布的新一代对话预训练模型。 ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示&#xff0c;Ch…

写一个简单的 C++ 日志库 - cllogger(3)- CRT

通过上一篇 《写一个简单的 C 日志库 - cllogger&#xff08;2&#xff09;- 日期时间》我们已经掌握了如何通过 std::chrono 提供的日期时间工具转换时间参数为指定格式的字符串。 现在我们可以把各个参数信息拼装为 Entry 实例&#xff0c;交给 OutputMessage() void cllog…

PyTorch 深度学习(GPT 重译)(三)

六、使用神经网络拟合数据 本章内容包括 与线性模型相比&#xff0c;非线性激活函数是关键区别 使用 PyTorch 的nn模块 使用神经网络解决线性拟合问题 到目前为止&#xff0c;我们已经仔细研究了线性模型如何学习以及如何在 PyTorch 中实现这一点。我们专注于一个非常简单…

python爬虫学习第二天----类型转换

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

Word2vec学习笔记

&#xff08;1&#xff09;NNLM模型&#xff08;神经网络语言模型&#xff09; 语言模型是一个单纯的、统一的、抽象的形式系统&#xff0c;语言客观事实经过语言模型的描述&#xff0c;比较适合于电子计算机进行自动处理&#xff0c;因而语言模型对于自然语言的信息处理具有重…

Python基础入门 --- 6.数据容器

文章目录 Python基础入门第六章&#xff1a;6.数据容器6.1 列表6.1.1 列表下标索引6.1.2 列表常用操作查找指定某元素的下标修改指定位置的元素值插入元素追加元素方式1追加元素方式2删除元素删除某元素在列表中的第一个匹配项清空列表统计某元素在列表中的数量统计列表元素个数…

【Redis】Redis常见原理和数据结构

Redis 什么是redis redis是一款基于内存的k-v数据结构的非关系型数据库&#xff0c;读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列、分布式锁等场景。 redis的数据类型 string&#xff1a;字符串 缓存对象&#xff0c;分布式ID&#xff0c;token&#xff0c;se…

RAGGED: Towards Informed Design of Retrieval Augmented Generation Systems阅读笔记

论文链接&#xff1a;https://arxiv.org/abs/2403.09040 Github链接&#xff1a;GitHub - neulab/ragged: Retrieval Augmented Generation Generalized Evaluation Dataset 最近RAG&#xff08;retrieval-augmented generation&#xff09;真的好火&#xff0c;这不CMU的发了…

vscode用SSH远程开发c语言

vscode配置远程 这里我使用虚拟机进行展示&#xff0c;首先需要你的虚拟机安装好ssh 没安装好就执行下面的命令安装并开启服务 sudo apt-get install ssh sudo service ssh start ps -e | grep sshvscode安装 remote-ssh扩展 点击左下角的远程连接&#xff0c;我这里已经连接…

电脑小白入门|Windows系统下只要记住这几点,你就能流畅使用!

前言 前段时间发现有很多小伙伴在使用电脑这个问题上遇到了很大的难题&#xff1a;到底什么时候该用鼠标左键单击、什么时候该双击&#xff1b;电脑的快捷键那么多怎么记得住等等的问题。 今天小白就稍微来讲解一下&#xff0c;这个帖子适合Windows电脑都不会使用的小伙伴。 …

流畅的 Python 第二版(GPT 重译)(四)

第二部分&#xff1a;函数作为对象 第七章&#xff1a;函数作为一等对象 我从未认为 Python 受到函数式语言的重大影响&#xff0c;无论人们说什么或想什么。我更熟悉命令式语言&#xff0c;如 C 和 Algol 68&#xff0c;尽管我将函数作为一等对象&#xff0c;但我并不认为 Py…

iframe动态操作标签分享

前言 分享一个近期工作中遇到的关于IFrame的需求&#xff0c;以及解决方案。 需求大致是说在我们系统中嵌套了另一个文档页面&#xff0c;这个文档页面是爬取的&#xff0c;并且页面是原先使用后端渲染实现的&#xff0c;取到的css和script标签都是相对路径比如: "./mia…

【文件操作和IO】

文件操作和IO 1.文件2. 硬盘上文件的目录结构3. 文件路径4. 文件重要分类&#xff1a;5. Java中操作文件5.1 Java对于文件操作的API5.2 Java中使用File类来进行文件操作5.3 File类属性5.4 构造方法5.5 方法&#xff1a; 6. 文件内容的读写 -- 文件流&#xff08;数据流&#xf…

32.768K晶振X1A000141000300适用于无人驾驶汽车电子设备

科技的发展带动电子元器件的发展电子元器件-“晶振”为现代的科技带来了巨大的贡献&#xff0c;用小小的身体发挥着大大的能量。 近两年无人驾驶汽车热度很高&#xff0c;不少汽车巨头都已入局。但这项技术的难度不小&#xff0c;相信在未来几年里&#xff0c;无人驾驶汽车这项…

改进粒子群优化算法||粒子群算法变体||Improved particle swarm optimization algorithm

粒子群算法&#xff08;Particle Swarm Optimization&#xff0c;PSO&#xff09;是一种基于群体智能的优化算法&#xff0c;其思想来源于鸟群寻食和鱼群捕食等自然现象。PSO算法通过模拟群体智能的行为&#xff0c;以一种启发式的方式寻找最优解&#xff0c;因此具有全局搜索能…

数学建模(熵权法 python代码 例子)

目录 介绍&#xff1a; 模板&#xff1a; 例子&#xff1a;择偶 极小型指标转化为极大型&#xff08;正向化&#xff09;&#xff1a; 中间型指标转为极大型&#xff08;正向化&#xff09;&#xff1a; 区间型指标转为极大型&#xff08;正向化&#xff09;&#xff1a…

【Web应用技术基础】HTML(4)——表单类的标签

目录 题目1&#xff1a;文本框 题目2&#xff1a;密码框 题目3&#xff1a;单选框 题目4&#xff1a;多选框 题目5&#xff1a;单选框选中 题目6&#xff1a;禁用disabled 题目7&#xff1a;lable标签 题目8&#xff1a;下拉框 题目9&#xff1a;textarea 题目10&…

【Java之老话常谈】学习Java可以用来做什么?

对于很多新手来说,刚开始接触Java会很迷惘,不知道Java可以做什么。其实Java 可以做的东西太多了,手机游戏、中间件、软件、网站,电脑游戏,以及现在流行的安卓手机app等,都是由java语言编写的。由于Java拥有很高的安全性、平台移植性等,所以受到广大程序员的喜爱。 java…

接口测试、postman、测试点提取【主】

接口测试是测试系统组件间接口的一种测试 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点 测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系 文章目录 HTTP接口 & Web Service接口RESTful接口…