'''
当从网站服务器获取了HTML文档后,就需要从文档中提取有价值、有意义的数据了。
如何从看似纷繁复杂、杂乱无章的HTML文档中提取想要的数据呢?
这就必须要了解HTML的基本组成和结构了。
可以把HTML看成一个树型结构,沿着树根往下遍历,就能找到任何想要位置的数据了。
'''
'''
HTML(HyperText Markup Language,超文本标记语言)用于创建网页。
HTML使用标签来表示不同的内容,如使用<img>表示图片,使用<video>表示视频,使用<form>表示表格,使用<div>对网页进行布局等,各种标签互相嵌套,就形成了复杂的网页。
在Chrome浏览器的“开发者工具”中,服务器将它放在了响应体中
'''
'''
下面来看一个简单的电影排行的HTML例子。
代码可以在记事本中编写,保存后将后缀改为html(movies.html),也可以在PyCharm中新建一个HTML文档。
下面是实现的HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>电影排行</title>
</head>
<body>
<div id="content">
<h1>电影排行榜单</h1>
<div class="m_list">
<p>1. 肖生克的救赎</p>
<p>2. 霸王别姬</p>
</div>
</div>
</body>
</html>
'''
使用浏览器打开movies.html,网页效果如下图所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210704165453764.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RyaXVtcGgxOQ==,size_16,color_FFFFFF,t_70)
下面来分析一下这个HTML代码
- 第一行代码中用DOCTYPE定义了文档类型。
- 使用尖括号定义标签,如
<html>、<head>、<body>、<div>。
- 标签一般是成对出现的,如
<html>
是起始标签,</html>
是终止标签。 - 最外层的是HTML标签,表示HTML代码的范围。内部包含head和body标签,分别代表网页头和网页体。
- head标签内定义了网页的属性和引用。例如
<meta charset="UTF-8">
指明了网页的编码格式为UTF-8;<title>电影排行</title>
定义了网页的标题。 - body标签内是浏览器显示的正文内容,也是爬虫获取数据的来源。
- div标签类似于一个容器,它将内部所有的内容看成一个整体,主要用于页面的布局。
- h1标签代表一级标题;p标签代表段落,会自动换行。
- 标签内可以定义自己的属性。例如
<div id="content">
的属性id值为content。这是一个非常有用的属性,因为在整个网页中,id的值是唯一的,可以通过它快速定位到这个标签。在<div class="m_list">
中,属性class的值为m_list,这也是一个非常有用的属性,通过它可以定位到所有相同样式的标签。