快速分辨静态页面和动态页面

静态网页是标准的 HTML 文件,通过 GET 请求方法可以直接获取,文件的扩展名是.html、.htm等,网面中可以包含文本、图像、声音、FLASH 动画、客户端脚本和其他插件程序等。静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态并非静止不动,它也包含一些动画效果,这一点不要误解。这里我们需要强调的是静态和动态的区别,是页面内容的加载方式,并非展示方式。

我们知道,当网站信息量较大的时,网页的生成速度会降低,由于静态网页的内容相对固定,且不需要连接后台数据库,因此响应速度非常快。但静态网页更新比较麻烦,每次更新都需要重新加载整个网页。

动态网页

与静态页面不同,动态网页指采用了动态网页技术的页面,比如 AJAX(是指一种创建交互式、快速动态网页应用的网页开发技术)、ASP(是一种创建动态交互式网页并建立强大的 web 应用程序)、JSP(是 Java 语言创建动态网页的技术标准) 等技术,它不需要重新加载整个页面内容,就可以实现网页的局部更新。动态页面使用“动态页面技术”与服务器进行少量的数据交换,从而实现了网页的异步加载。

如何快速分辨静态网页和动态网页

在进行开发页面爬虫的过程中,由于静态网页的数据全部包含在 HTML 中,使用URLLIB中的Request和Parse等就可以实现静态网页页面数据的抓取。如果是动态页面,需要等静态部分加载完毕以后,使用Javascript异步调用后端获取数据(使用Ajax异步调用),再动态的渲染页面内容。这种情况下,使用静态页面的方式就无法真正爬取到网页内容了。那么我们在开发页面爬虫之前,如何分辨目标页面是静态页面还是动态页面呢?本文介绍一个简单快速的方法, 先使用Chrome浏览器正常浏览页面,再使用Firefox浏览器禁用Javascript后浏览页面,最后对这两个页面进行对比,有区别说明为动态页面,反之为静态页面。

如何利用Firefox禁用Javascript

主要分为三个步骤:

  • 在地址栏输入“about:config”,在显示的界面中点击“接受相关风险并继续”或者“Accept the Risk and Continue(接受风险并继续)”
  • 在搜索框中输入Javascript
  • 双击Javascript.enabled行,进行启用/禁用
about config
firefox disable js

例子

为了详细说明,接下来以东方财富网中的沪深港通资金流向(http://www.oushinet.com/europe/)为例进行说明:

  • Step1:打开Firefox浏览器,在地址栏输入网址https://data.eastmoney.com/hsgt/index.html
  • Step2:打开Firefox浏览器,按照上述步骤禁用Javascript
  • Step3:在Firefox浏览器的地址栏输入网址https://data.eastmoney.com/hsgt/index.html
Captain QR Code

扫码联系船长

发表回复

您的电子邮箱地址不会被公开。