欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python爬虫笔记 | HTML基础

程序员文章站 2022-04-29 10:53:56
...

使用python版本:3.7.0 64-bit

如果把HTML的学习依序分为三个层次的话,应该是读懂、修改、编写

读懂: 只有读懂了HTML,我们才能看得懂网页结构,才有可能运用Python的其他模块去解析数据和提取数据。所以想写爬虫程序的话,一定要先学好HTML基础。
修改: 在读懂HTML文档的基础上,学会修改HTML代码,是可以做些有趣的事情的。
编写: 如果达到了这个水平,那就可以去应聘前端工程师了,这是专业的程序员水平了。

HTML 基础

HTML称为超文本标记语言,是一种用来描述网页信息的标识性语言。

查看网页的HTML代码

用谷歌浏览器(Chrome)进行演示。

在网页任意地方点击鼠标右键,然后点击“显示网页源代码”。(Windows系统的电脑还可以使用快捷键ctrl+u来查看网页源代码),你会看到,浏览器弹出了一个新的标签页:
Python爬虫笔记 | HTML基础
如图显示的就是HTML源代码。

这样查看的好处是,整个网页的源代码都完整地呈现在你面前。坏处是,在大部分情况下,它都会经过压缩,导致结构不够清晰,你不太容易懂每行代码的含义。而且,源代码和网页分开在两个页面展示。

所以更多时候,我们会用这样一种方法:
在网页的空白处点击右键,然后选择“检查”(快捷方式是ctrl+shift+i)。

这个即是 开发者工具栏:
Python爬虫笔记 | HTML基础
上图中标亮的部分就是网页的HTML代码。

将鼠标放在HTML源代码上,你会发现,左边网页上有一些内容会被标亮。这其实就是这行代码所描述的网页内容,它们一左一右,相互对应。

HTML的层级

通过开发者工具栏,可以看出HTML会有鲜明的层级结构,以及互相对应的关系。


HTML的组成

标签和元素

最简单的HTML文档:

<html>
	<head>
		<meta charset="utf-8"> 
	</head>
    <body>
        <h1>我是一级标题</h1>
        <h2>我是二级标题</h2>
        <h3>我是三级标题</h3>
        <p>我是一个段落啦。一级标题、二级标题和我,我们三个一起组成了body。
         </p>
    </body>
</html>

标签: 夹在尖括号<> 中间的字母。

标签通常是成对出现的:前面的是 开始标签,比如< body >;后面的是结束标签,如 < /body >。

元素: 开始标签+结束标签+中间的所有内容。如下:

<html>
	<body>
        <h1>我是一级标题</h1>
    </body>
</html>

常见的HTML元素:

开始标签 元素内容 结束标签 用法
< h1 > 一级标题 < /h1 > 一级标题
< h2 > 二级标题 < /h2 > 二级标题
< p > 段落文本 < /p > 段落
< a > 描述链接的文本 < /a > 超链接
< div > 其它元素或文本 < /div >

HTML标签是可以嵌套标签的,而且可以多层嵌套。

网页头和网页体

HTML文档的基本是由 网页头网页体 组成的:

<html>
	<head>
		网页头的具体内容
	</head>
    <body>
        网页体的具体内容
    </body>
</html>

HTML文档的最外层标签一定是< html >,里面嵌套着< head >元素与< body >元素。< head >元素代表了网页头,< body >元素代表了 网页体 ,这是最基本的网页结构。

HTML文档和网页的内容一定是一一对应的。只是网页头的内容不会被直接呈现在浏览器里的网页正文中,而网页体的内容是会直接显示在网页正文中的。

网页头:< head >元素
<head>
    <meta charset="utf-8">     # 定义了HTML文档的字符编码
    <title>我是网页的名字</title> # 定义网页的标题,这个标题就是显示在浏览器的标签页中的内容
</head>
网页体: < body >元素
<html>
  <head>
      <meta charset="utf-8"> 
      <title>我要学python</title>
  </head>
  <body>
      <h1>我要学python</h1>
      <h3>百度百科解释</h3>
      <h2>python是什么:</h2>
      <p>Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
      </p>
  </body>
</html>

HTML文档是由网页头和网页体组成的,网页头不显示在网页中。

而网页体中依次有四个内容:
< h1 >元素 代表一级标题,对应网页中的“我要学python”;
< h3 >元素 代表三级标题,对应网页中的“百度百科解释”;
< h2 >元素 代表二级标题,对应网页中的“python是什么:”;
< p >元素 对应网页中“Python是一种跨平台…的开发。”这一整段文本。

属性

HTML标签可以通过设置 属性 来为HTML元素描述更多的信息。如:文字颜色等。

style属性:规定元素的内行样式(inline style)
<h1 style="color:#20b2aa;">我要学python</h1>

属性通常都是在HTML元素的 开始标签 中设置的。

给< h1 >元素添加了一个style属性,属性中的内容规定了这行文字的颜色。

style属性 可以用来定义网页文本的样式,比如字体大小、颜色、间距、对齐方式等。

href属性:用来定义链接
<a href="https://blog.csdn.net/Microgoblins">我是一个链接,点我试试</a>

href属性用来在网页中 添加链接

在HTML中,链接一般都由< a >标签定义,href属性用于规定指向页面的URL。

class属性:为html元素定义一个或多个类名(classname)
<html>
  <head>
      <meta charset="utf-8"> 
      <title>我要学python</title>
      <style>
      .book {
      float: left;
      margin: 5px;
      padding: 15px;
      width: 350px;
      height: 240px;
      border: 3px solid #20b2aa;
      } 
      </style>
  </head>
  
  <body>
      <h1 style="color:#20b2aa;">我要学python</h1>
      <h3>百度百科解释</h3>
      <a href="https://blog.csdn.net/Microgoblins">点这里看看</a>
      <div class="book">
          <h2>python是什么:</h2>
          <p>Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
          </p>
      </div>
  </body>
</html>

网页头中多了一个很长的

<style> 
.book {
/*以下是.book的具体样式规定*/
float: left; /*控制元素浮动*/
margin: 5px; /*外边距为5像素*/
padding: 15px; /*内边距为15像素*/
width: 350px; /*宽度为350像素*/
height: 240px; /*高度为240像素*/
border: 3px solid #20b2aa; /*边框为3像素*/
} 
</style>

< style >元素的内容,是对.book的具体描述,比如float: left;,而/* 控制元素浮动 */ 是对代码的注释。

其实这是一段对网页布局的描述。

在大括号内部写的就是一条条的样式规定。代码的注释中有每个具体样式的意思,如下图:Python爬虫笔记 | HTML基础
一个是网页头里的.book;一个是网页体里的< div class=“book”>。

其实 . 对应class,所以.book代表class book。因此,网页头中的 .book 和网页体中的class="book"是有联系的。

在网页头里面,定义了class属性,属性值为"book",然后下面一长串代码是对这个class属性的描述;接着再在网页体中调用,所以看到了< div class=“book”>。

id属性:定义元素的唯一id

id属性class属性 的用法类似,给元素定义id和class的目的都是为了查找、定位元素,或者为元素设置样式。

id属性用于标识唯一的元素,而class用于标识一系列的元素。
id就像是学生的学生证号码,每个人都是唯一的;而学生们可以属于同一个班级,班级就像class。


HTML的组成: 标签、元素、结构(网页头和网页体)、属性。

掌握这些知识后,可以通过阅读HTML文档,来对照理解网页。

熟能生巧,百战成神。

相关标签: HTML 基础