Python / 02 网页基本构成和抓取原理

网页基本构成和抓取原理

网页,是一种可以被浏览器等客户端解析的一种文件。与我们平常遇到的文件的区别是:网页是根植于互联网的。也就是说我们通过浏览器浏览的网页文件大部分是不在本地的,它有可能在世界上的任何一台连接网络的计算机上面。而且,通过网络的超链接,我们可以浏览世界任意角落的网页文件,这就是我们平常说的网上冲浪,足不出户,就能融入整个世界。

爬虫抓取的是数据其实就是网页上的内容,具体的抓取原理我们在这个小节会说到,下面我们先来看下网站的概念:

1. 网站的概念

在具体讲解网页的构成之前。我们需要先了解一下网站的概念。

网站,是对外提供服务的多个网页构成的集合。它主要分为静态网站和动态网站。

1.1 静态网站

静态网站指的是网站下所有的页面都是使用 HTML 构成的网站。所谓静态,不是指网页是静止不动的,网页中也可以有动画,视频等信息。这里的静态,指的是无法与服务端进行互动。只是被动的解析显示服务器端响应回来的信息。

静态网站的优点:

  1. 容易被搜索引擎收录,方便 SEO 优化。
  2. 内容独立,不依赖于数据库。

静态网站的缺点:

  1. 维护成本比较大,大部分内容需要人工手工更新。
  2. 页面无法互动,用户体验不佳。

1.2 动态网站

动态网站相对于静态网站,它可以提供更多交互上的体验。比如,用户的注册登录,实时推荐等功能。动态网站里面不仅包含了静态的 HTML 文件,也会包含服务器端的脚本,比如 Jsp,Asp 等。

动态网站的优点:

  1. 用户体验良好,可以实现更多个性化的设置。
  2. 服务器可以对客户端进行更多的互动,方便服务器对数据的管理和分析。

动态网站的缺点:

  1. 需要与数据库进行处理,访问速度大大降低。
  2. 对于搜索引擎不友好。

不管是静态网站里面的网页,还是动态网站里面的网页,他们都有一些网页共同的基本内容。下面我们来看下网页的三大基本元素:

2. 网页的三大基本元素:

后面的章节,我们会对网页的三大基本元素进行具体的介绍,这里只是简单的阐述一些基本的概念和用途。

2.1 HTML

HTML 是一种标记语言。标记语言并不是编程语言,它无法使用逻辑编程的方式进行编程。它只是约定了一种文档的展现方式。通过约定不同的标签所代表的不同含义,从而在浏览器端渲染出丰富多彩的网页。主要包含头部和主体两大部分。HTML 主要负责页面的结构。

2.2 CSS

级联样式表,有时候也叫做风格样式表。需要配合 HTML 来使用,从而提供丰富的渲染效果。

2.3 Javascript

是一种脚本语言,广泛的用于前端的逻辑实现。通过 javascript 可以实现许多定制的效果,是前端使用的最广泛的编程语言。

综上所述,HTML,CSS,Javascript 共同构成了网页的丰富的样式。三者缺一不可,没有 HTML,CSS, Javascript 就是无源之水,毫无意思;没有 CSS,网页就失去了色彩和样式,最终会使得 HTML千篇一律;没有 Javascript,我们就无法看到动态的网页,只是一潭死水。

3. 爬虫抓取原理

爬虫爬取的数据其实就是网页上面的内容,我们需要通过特定的工具对网页进行分析,比如说 Beautiful Soup。然后提取出 HTML 中的特定标签下的数据。然后,将数据进行持久化保存,方便日后的数据的分析。

简单点讲,我们使用爬虫,最根本的目的是爬取网页中对我们有价值的信息和数据。所以,我们大部分爬取的工作,都是在筛选我们有用的信息,并剔除掉无用的信息。这就是爬虫核心所在。

4. 小结

通过这一小节,我们认识了网页的基本元素,在我们使用的爬虫的过程中,随时随地都需要分析网页的构成要素,因此,熟练的掌握的网页的基本元素的构成,对于我们后面进行网页的分析很有帮助。