Python3 爬虫教程 - Web 网页基础

Web网页基础

  • 1,网页的组成
    • HTML
    • css
    • JavaScript
    • 2,网页的结构
  • 3,节点树及节点间的关系
  • 4,选择器
  • 开头代表选择 id,其后紧跟 id 的名称。如:div 节点的 id 为 container,那么就可以表示为 #container

1,网页的组成

  • 网页可以分为三大部分 —— HTML、CSS 和 JavaScript。如果把网页比作一个人的话,HTML相当于骨架,JavaScript相当于肌肉,CSS相当于皮肤。三者结合起来才能形成一个完善的网页。

HTML

  • HTML,其英文叫做 HyperText Markup Language,中文翻译叫做超文本标记语言。HTML 是用来描述网页的一种语言。
  • 网页包括文字、按钮、图片和视频等各种复杂的元素,其基础架构就是 HTML。
  • 不同类型的元素通过不同类型的标签来表示
    • 图片:用 img 标签表示
    • 视频:用 video 标签表示
    • 段落:用 p 标签表示
    • 布局:常通过布局标签 div 嵌套组合而成
      在这里插入图片描述

css

  • CSS:称叫作 Cascading Style Sheets,即层叠样式表。
    • 层叠:是指当在 HTML 中引用了数个样式文件,并且样式发生冲突时,浏览器能依据层叠顺序处理。
    • 样式:指网页中文字大小、颜色、元素间距、排列等格式。
  • style面板呈现的就是一些列css样式
    • 这就是一个 CSS 样式。大括号前面是一个 CSS 选择器。此选择器的意思是首先选中 id 为 head_wrapper 且 class 为 s-ps-islite 的节点,然后再选中其内部的 class 为 s-p-top 的节点。大括号内部写的就是一条条样式规则,例如 position 指定了这个节点的布局方式为绝对布局,bottom 指定节点的下边距为 40 像素,width 指定了宽度为 100%,表示占满父节点,height 则指定了节点的高度。也就是说,我们将位置、宽度、高度等样式配置统一写成这样的形式,然后用大括号括起来,接着在开头再加上 CSS 选择器,这就代表这个样式对 CSS 选择器选中的节点生效,节点就会根据此样式来展示了。
      在这里插入图片描述

JavaScript

  • JavaScript,简称 JS,是一种脚本语言。HTML 和 CSS 配合使用,提供给用户的只是一种静态信息,缺乏交互性。我们在网页里可能会看到一些交互和动画效果,如下载进度条、提示框、轮播图等。

2,网页的结构

简单的HTML实例

  • DOCTYPE:定义了文档类型
  • html 标签:首尾为开头和结束
  • head 标签:代表网页头(头尾都有),head 标签内定义了一些页面的配置和引用。
    • charset=“UTF-8”:指定了网页的编码为 UTF-8。
    • title 标签则定义了网页的标题,会显示在网页的选项卡中,不会显示在正文中
  • body 标签:代表网页体(头尾都有),body 标签内则是在网页正文中显示的内容。
    • div 标签定义了网页中的区块,它的 id 是 container
    • 在此区块内又有一个 div 标签,它的 class 为 wrapper
    • h2 标签,这代表一个二级标题
    • p 标签,这代表一个段落
      在这里插入图片描述
      保存代码后出现如下
      在这里插入图片描述
  • 选项卡上显示了 This is a Demo 字样,这是我们在 head 中的 title 里定义的文字
  • 网页正文是 body 标签内部定义的各个元素生成的,可以看到这里显示了二级标题和段落。
  • 这个实例便是网页的一般结构。一个网页的标准形式是 html 标签内嵌套 head 和 body 标签,head 内定义网页的配置和引用,body 内定义网页的正文。

3,节点树及节点间的关系

  • 在 HTML 中,所有标签定义的内容都是节点,它们构成了一个 HTML 节点树,也称之为 HTML DOM 树。
    • DOM:是 W3C(万维网联盟)的标准,其英文全称 Document Object Model,即文档对象模型。它定义了访问 HTML 和 XML 文档的标准。根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点。
    • 整个网站文档是一个文档节点。
    • 每个 html 标签对应一个根元素节点,即上例中的 html 标签,这属于一个跟元素节点。
    • 节点内的文本是文本节点,比如 a 节点代表一个超链接,它内部的文本也被认为是一个文本节点。
    • 每个节点的属性是属性节点,比如 a 节点有一个 href 属性,它就是一个属性节点。
    • 注释是注释节点,在 HTML 中有特殊的语法会被解析为注释,但其也会对应一个节点。
      HTML DOM 将 HTML 文档视作树结构,这种结构被称为节点树:
      在这里插入图片描述
  • 通过 HTML DOM,树中的所有节点均可通过 JavaScript 访问,所有 HTML 节点元素均可被修改,也可以被创建或删除。
  • 节点树中的节点彼此拥有层级关系。我们常用父(parent)、子(child)和兄弟(sibling)等术语描述这些关系。父节点拥有子节点,同级的子节点被称为兄弟节点。
  • 在节点树中,顶端节点称为根(root)。除了根节点之外,每个节点都有父节点,同时可拥有任意数量的子节点或兄弟节点。图展示了节点树以及节点之间的关系。
    在这里插入图片描述

4,选择器

  • 在 CSS 中,我们使用 CSS 选择器来定位节点。
    • 开头代表选择 id,其后紧跟 id 的名称。如:div 节点的 id 为 container,那么就可以表示为 #container

    • 以点(.)开头代表选择 class,其后紧跟 class 的名称。如:选择 class 为 wrapper 的节点,便可以使用.wrapper
  • CSS 选择器还支持嵌套选择,各个选择器之间加上空格分隔开便可以代表嵌套关系
    • #container .wrapper p 则代表先选择 id 为 container 的节点,然后选中其内部的 class 为 wrapper 的节点,然后再进一步选中其内部的 p 节点;
    • 如果不加空格,则代表并列关系,如 div#container .wrapper p.text 代表先选择 id 为 container 的 div 节点,然后选中其内部的 class 为 wrapper 的节点,再进一步选中其内部的 class 为 text 的 p 节点。
  • CSS 选择器的其他语法规则
    在这里插入图片描述
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS7更换阿里云yum更新源

目前CentOS内置的更新安装源经常报错无法更新,或者速度不够理想,这个时候更换国内的镜像源就是一个不错的选择。 备份内置更新源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载阿里云repo源(需要系统…

9.23-部署项目

部署项目 一、先部署mariadb [rootk8s-master ~]# mkdir aaa [rootk8s-master ~]# cd aaa/ [rootk8s-master aaa]# # 先部署mariadb [rootk8s-master aaa]# # configmap [rootk8s-master aaa]# vim mariadb-configmap.yaml apiVersion: v1 kind: ConfigMap metadata:name: ma…

工业机器视觉中的常见需求

目录 学习目的 熟系 Halcon的原因 专业性强: 高性能: 丰富的功能库 学习 OpenCV 的原因 开源与免费: 灵活性与可扩展性: 广泛的应用: 学习资源丰富: 总结 学习背景 工业视觉检测中常见分类 一、定…

D. Minimize the Difference (Codeforces Round 973 Div. 2)

D. Minimize the Difference 思路: 发现操作是单向的从左往右取高补低,最终目标是尽可能趋于平均,使最大值最小和使最小值最大。可以用二分答案法分别找到两个最值,然后做差即可。 关于这种算法的正确性没有做严格的证明&#x…

基于单片机的无线宠物自动喂食系统设计

本设计研究了一种无线宠物自动喂食器,其功能是先将宠物饲料放入其中,通过设定喂食时间点,当到达这一时间点后,系统开始播报语音同时控制步进电机转动,自动进行喂食。本设计主要研究怎么设定时间并进行投喂,…

npm 安装 与 切换 淘宝镜像

一、镜像源 npm默认镜像源是国外的,安装依赖速度较慢,使用国内的镜像源速度会快一些。 1、设置淘宝镜像源: #最新地址 淘宝 NPM 镜像站喊你切换新域名啦! npm config set registry https://registry.npm.taobao.org(弃用了&…

C++11新特性和扩展(1)

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 C11新特性和扩展 收录于专栏 [C进阶学习] 本专栏旨在分享学习C的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1.C11简介 2. 列表初始…

phpstudy 建站使用 php8版本打开 phpMyAdmin后台出现网页提示致命错误:(phpMyAdmin这是版本问题导致的)

报错提示: 解决方法:官网下载phpmyadmin 5.2.1版本。 下载地址:phpMyAdmin 将网站根目录phpMyAdmin4.8.5里面的文件换成 官网下载的5.2.1版本即可。 重启网站,打开phpMyAdmin后台即可(若打不开更改 mysql密码即可&am…

Algo-Lab 2 Stack Queue ADT

Lab 2: Stack & Queue ADT Part 1 ​ 这里只说一下最小栈的思路,我们可以在定义一个栈,来同步存储当前情况下的占的最小值。最小栈第一时间的想法可能是设定一个变量,每次push进来栈中的元素进行对比,保持最小值,…

pikachu XXE(XML外部实体注入)通关

靶场&#xff1a;pikachu 环境: 系统&#xff1a;Windows10 服务器&#xff1a;PHPstudy2018 靶场&#xff1a;pikachu 关卡提示说&#xff1a;这是一个接收xml数据的api 常用的Payload 回显 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY …

C++在Linux实现多线程和多进程的TCP服务器和客户端通信

多进程版本 服务器 #include <arpa/inet.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <sys/wait.h> #include <signal.h> #include <string&…

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Mysql集群

828华为云征文 | 云服务器Flexus X实例&#xff0c;Docker集成搭建Mysql集群 MySQL 集群是一种高可用性、高性能的数据库解决方案&#xff0c;旨在支持分布式应用程序&#xff0c;允许多个 MySQL 实例以集群的方式共同工作&#xff0c;提供数据冗余和故障恢复能力 搭建Mysql集群…

【QT基础】创建项目项目代码解释

目录 前言一&#xff0c;使⽤Qt Creator 新建项目1. 新建项目2. 选择项⽬模板3. 选择项⽬路径4. 选择构建系统5. 填写类信息设置界⾯6. 选择语⾔和翻译⽂件7. 选择Qt套件8. 选择版本控制系统9. 最终效果 二&#xff0c;项目代码说明1. main.cpp文件2. Widget.h文件3. Widget.cp…

吉时利keiithley2440高精度测试仪KEITHLEY2410/2450数字源表

Keithley 2440数字源表&#xff0c;40V&#xff0c;5A&#xff0c;50W 其他功能&#xff1a; 四象限运行基本精度为 0.012%&#xff0c;分辨率为 5 1⁄2 位具有可编程电流源和电压钳的 6 线 Ω 测量通过 GPIB 以 4 1⁄2 位数字读取 1700 个读数/秒内置比较器&#xff0c;用于…

【java面经】Redis速记

目录 基本概念 string hash list set zset 常见问题及解决 缓存穿透 缓存击穿 缓存雪崩 Redis内存管理策略 noeviction allkeys-lru allkeys-random volatile-random volatile-ttl Redis持久化机制 RDB快照 AOF追加文件 Redis多线程特性 Redis应用场景 缓…

力扣反转链表系列【25. K 个一组翻转链表】——由易到难,一次刷通!!!

力扣《反转链表》系列文章目录 刷题次序&#xff0c;由易到难&#xff0c;一次刷通&#xff01;&#xff01;&#xff01; 题目题解206. 反转链表反转链表的全部 题解192. 反转链表 II反转链表的指定段 题解224. 两两交换链表中的节点两个一组反转链表 题解325. K 个一组翻转…

深入剖析Docker容器安全:挑战与应对策略

随着容器技术的广泛应用&#xff0c;Docker已成为现代应用开发和部署的核心工具。它通过轻量级虚拟化技术实现应用的隔离与封装&#xff0c;提高了资源利用率。然而&#xff0c;随着Docker的流行&#xff0c;其安全问题也成为关注焦点。容器化技术虽然提供了良好的资源隔离&…

塑料瓶回收流水线分拣系统源码分享

塑料瓶回收流水线分拣检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comp…

信息安全数学基础(15)欧拉定理

前言 欧拉定理是数论中的一个重要定理&#xff0c;它建立了模运算下指数与模的互质关系。这个定理在密码学、信息安全等领域有着广泛的应用&#xff0c;特别是在公钥密码体制&#xff08;如RSA加密算法&#xff09;中。 一、表述 设 n 是一个正整数&#xff0c;a 是一个与 n 互…

C++速通LeetCode中等第3题-盛最多水的容器

双指针法&#xff1a;两个指针分别指向左右边界&#xff0c;记录最大面积&#xff0c;由于面积由短板决定&#xff0c;两个指针中较短的短指针向内移动一格&#xff0c;再次记录最大面积&#xff0c; 直到两指针相遇&#xff0c;得出答案。 class Solution { public:int maxAr…