【网络爬虫学习】网页的基本构成

爬虫程序之所以可以抓取数据,是因为爬虫能够对网页进行分析,并在网页中提取出想要的数据。在学习 Python 爬虫模块前,我们有必要先熟悉网页的基本结构,这是编写爬虫程序的必备知识。

关于 Web 初步教程:Here

  • 网页在组成上一般由三部分组成,分别是

    HTML(超文本标记语言)负责定义网页的内容、

    CSS(层叠样式表)负责描述网页的布局、

    JavaScript(简称“JS”动态脚本语言)负责网页的行为,它们三者在网页中分别承担着不同的任务。

  • 网页从类型分为静态与动态,

    静态网页是标准的 HTML 文件,通过 GET 请求方法可以直接获取,文件的扩展名是.html.htm等(静态并非静止不动,它也包含一些动画效果,这一点不要误解)

    动态网页指的是采用了动态网页技术的页面,比如 AJAX(是指一种创建交互式、快速动态网页应用的网页开发技术)和JSP(是 Java 语言创建动态网页的技术标准) 等技术,它不需要重新加载整个页面内容,就可以实现网页的局部更新。

针对静/动态的一个重要区别在于,有无需要连接后台数据库,

由于静态网页的内容相对固定,且不需要连接后台数据库,因此响应速度非常快。但静态网页更新比较麻烦,每次更新都需要重新加载整个网页。

动态页面使用“动态页面技术”与服务器进行少量的数据交换,从而实现了网页的异步加载。下面看一个具体的实例:

打开百度图片(https://image.baidu.com/)并搜索 Python,当滚动鼠标滑轮时,网页会从服务器数据库自动加载数据并渲染页面,这是动态网页和静态网页最基本的区别。如下所示:

【网络爬虫学习】网页的基本构成

动态网页中除了有 HTML 标记语言外,还包含了一些特定功能的代码。这些代码使得浏览器和服务器可以交互,服务器端会根据客户端的不同请求来生成网页,其中涉及到数据库的连接、访问、查询等一系列 IO 操作,所以其响应速度略差于静态网页。

注意:一般网站通常会使用动静相结合的方式,使其达到一种平衡的状态。

当然动态网页也可以是纯文字的,页面中也可以包含各种动画效果,这些都只是网页内容的表现形式,其实无论网页是否具有动态效果,只要采用了动态网站技术,那这个网页就称为动态网页。


\[QAQ \]


抓取动态网页的过程较为复杂,需要通过动态抓包来获取客户端与服务器交互的 JSON 数据。抓包时,可以使用谷歌浏览器开发者模式(快捷键:F12)Network选项,然后点击 XHR,找到获取 JSON 数据的 URL,如下所示:

【网络爬虫学习】网页的基本构成

或者您也可以使用专业的抓包工具 Fiddler 。关于动态网页的数据抓取,在后续内容会做详细讲解。

【网络爬虫学习】网页的基本构成

上一篇:https 总结


下一篇:Photoshop打造超酷的抽象流体艺术海报