Python公开课 - 爬虫之网页结构
前言
对于HTTP爬虫来说,很多情况下都是和网页打交道,所以我们需要先了解下网页结构。
网页的组成
网页可以分为三大部分: HTML, CSS 和 JavaScript。 三个组合形成了丰富的HTML页面。 HTML定义了网页的内容和结构, css描述了网页的布局,JavaScript定义了网页的行为。
HTML
HTML 是用来描述网页的一种语言, 其全称叫作 Hyper Text Markup Language,即超文本标记语言。 网页包括文字、按钮、图片和视频等各种复杂的元素,其基础架构就是 HTML。
不同类型的文字 通过不同类型的标签来表示,如图片用 img 标签表示,视频用 video 标签表示,段落用 p 标签表示,它们之间的布局又常通过布局标签 div 嵌套组合而戚,各种标签通过不同的排列和嵌套才形成了网页的框架。
css
css,全称叫作 Cascading Style Sheets,即层叠样式表。
HTML定义了网页的结构,但是只有HTML 页面的布局并不美观,可能只是简单的节点元素的排列。
为了让网页看起来更好看一些,这里借助了css。层叠是指当在 HTML 中引用了数个样式文件,并且样式发生冲突时,浏览器能依据层叠顺序处理。
样式指网页中文字大小、 颜色、元素间距、排列等格式。
css 是目前唯一的网页页面排版样式标准,有了它的帮助,页面才会变得更为美观。
JavaScript
JavaScript,简称 JS,是一种脚本语言。
HTML 和 css 配合使用, 提供给用户的只是一种静态信息,缺乏交互性。页面的动态效果就依赖Javascript了。
它的出现使得用户与信息之间不只是一种浏览与显示的关系,而是实 现了一种实时、动态、交互的页面功能。
网页的结构
先看一个例子
<html>
<head>
<meta charset="UTF-8">
<title>This is a Demo</title>
</head>
<body>
<div id=”container”>
<div>
<h2 class=”title”>Hello World</h2>
<p class=”text”>Hello, this is a paragraph.</p>
</div>
</div>
</body>
</html>
- title标签 - 定义了网页的标题,会显示在网页的选项卡中,不会显示在正文中。
- body标签 - 是在网页正文中显示的内容。
- div标签 - 定义了网页中的区块,id 的内容在网页中是唯一的,我们可以通过它来获取这个区块。
一个网页的标准形式是 html 标签内嵌套 head 和 body 标签,head 内定义网页的配置和引用,body内定义网页的正文。
小结
HTML页面标签很丰富,爬虫也需要可以识别并处理这些标签,这样才更得到有价值的信息。