静态网页与动态网页的区别

在发布网站的时候,发现有个静态发布和动态发布,这应该如何选择呢?静态网页和动态网页的区别在哪里?这是很多新手站长疑惑的问题。

静态网页每个网页都有一个固定的URL,且网页URL以.htm、.html等常见形式为后缀,而不含有问号?

静态网页的内容相对稳定,因此容易被搜索引擎检索;

静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;

静态网页的交互性较差,在功能方面有较大的限制。

可见,静态网页的优点在于信息内容的稳定性,这为搜索引擎在网上索引网页信息提供了方便,因为这些静态网页总是存在的,只要搜索引擎根据某个链接关系发现这个网页,就很容易抓取这个网页的信息。

静态网页更容易被百度收录吗?

网站建设采用静态网页形式只是有助于搜索引擎索引信息,但并不意味着只要是静态网页就一定会被搜索引擎收录,而动态网页就一定不会被搜索引擎收录,一个网页是否能在搜索引擎索引时有好的表现,并不完全取决于是否静态网页,更重要的还在于网页结构、网页中的文字信息,以及网页的链接关系等。

上一篇:网站建设平台降低你建站费用 下一篇:哪个网站建站会比较符合我们的要求

}

Power Query并不是一个专门的网抓或者爬虫工具,没有编程语言那么专业,实现的功能也比较有限,但其优势就是简单易学,且无缝对接excel,所见即所得。

本文将以纯新手的角度,介绍一些基础的网抓知识,尽可能让每个人都能学会。

网抓主要分为三个步骤:

3、对返回的数据清洗。

首先来看一个最简单的案例:

搜索不同关键词只是wd=后面的部分在变化。

试想网民搜索关键词的可能性有无穷多,百度会为每一种可能做一个文件放在服务器里么?显然不会。

我们之所以能够看到不同的结果是因为当我们搜索关键词时,会使用GET方式向服务器提交带参数的请求,比如上面?后面的就是参数,wd是字段名,powerquery是值。当服务器接收到参数后,计算并返回给我们相应的结果。

那GET又是什么?这就要从HTTP协议开始说起了。

我们之所以能够使用浏览器访问网页,实际上就是浏览器向服务器提交请求(request),服务器收到请求后返回了响应(response)并把HTML代码发送给浏览器,浏览器解析并显示出来。

如上所说,对于动态页面我们请求的访问地址始终是同一个/s,如果要让服务器知道我们想看什么,就需要一种东西来在客户端与服务器端之间进行消息传递,这就是HTTP协议请求。

HTTP协议请求主要有GET,POST,PUT,DELETE等等,分别对应查、改、增、删四个操作,其中最常见的就是GET和POST。GET仅请求资源,POST会附带一个Body包含用户数据。

GET请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连。上面百度的案例就是GET,再长点的话比如这样:

这里有wd和pn两个参数,以&相连,中间的乱码是中文经过URL encoded转码后的结果,如果再有其他参数则继续在后面追加&即可。

POST对应改,请求提交的数据放置在HTTP包的Body中。比如你在下方发表评论,你并不能通过URL看出来你究竟向我提交了什么,而当你评论完,页面上出现了你的评论,我的网站已经被你修改了,这就是在提交POST请求。当然POST也可以用来查询数据,是一种更加安全的传递方式。

看到这里,我们已经知道了客户端和服务器端是如何进行信息传输的:客户端提交request,服务器返回response。注意我们这里说的是客户端,浏览器算一种,当然还有其他很多种,比如我们今天要讲的Power Query。

那么网抓的原理其实就是,找出我们所需要抓的数据,分析是浏览器向服务器提交了什么请求哪些参数,然后用Power Query构建同样的请求发送给服务器,服务器便会把对应的数据在Power Query中返回给我们。

了解了这个,下面我们就开始进行第一步:抓包。

网抓的关键在于抓包,一旦抓到包后面都好做。而在抓包的时候,一定要灵活变通,比如在抓一些电商网站数据时,PC端往往比较难抓,所以可以考虑PC转移动,去抓移动端网站,在Chrome中的F12窗口左上角可以一键切换PC和移动模式。再比如抓QQ好友列表,你直接抓软件是抓不到的,那你就思考除了在软件还可能在哪里有接口?比如QQ空间里@好友的时候,给好友充值QB的时候,都可以轻松获取到好友列表。一旦想通这点,你会发现网抓原来这么简单。抓包可以用浏览器自带的调试工具,按F12即可调出,比较轻量,但缺点是不能支持一些复杂的抓包,但话说回来Power Query本身就不太支持复杂的网抓,所以基本也够用了。

建议使用Chrome浏览器,下面的案例全部是基于Chrome,所以不要问我其他浏览器怎么找。

两者是等价的,但是后者结构更清晰更便于修改和维护,所以在简单的情况下使用前者更方便,在参数比较多的复杂情况下更推荐后者。

Content:如果是GET则不填,一旦填写此参数将改为POST。填写内容就是F12里的Form Data,然后点击view source所看到的一整串文本,同样参数与参数之间是以&连接的。在Fiddler中就是request框中Raw下的最底部的部分。

服务器返回的数据可能有很多种类型,这个我们先不管,这一步我们的目的就是构建带参数的request,获取目标数据的response,我们先全部统一获取源码,到下一步再讲如何转换。

注意,页数是数字,与URL的文本相连时要用Text.From进行数据类型转换。

同理,如果要批量抓取多日期、多ID之类的,只要更改自定义函数中的变量即可。

而如果我们不是要抓前10页而是所有页,而且事先是不知道一共有多少页的怎么办?如果返回的是JSON,大部分情况下数据中都会包含一个叫做totalpage的字段,所以可以分两步,第一步先随便提交一个页码拿到totalpage,可参考案例篇附件。

但是比如你现在正在使用我介绍的方法批量抓取我的网站数据,如果再多几个你这样的,那我的网站基本上就炸了。

一直如此高频率地访问网站,那得给服务器带来多大的压力。

所以很多网站会采取防爬虫措施,如果访问太频繁就会被封IP。PQ虽然不支持代理IP池之类的,但是延时还是支持的。

如果你要抓的网站会封IP,那么可以在自定义函数外面嵌套Function.InvokeAfter,设置每爬一次停顿个5秒。

你会发现你的电脑算1+1还没你算的快。

很多时候我们希望能够实现类似网页中的体验,输入指定条件比如开始和结束日期,根据指定条件抓取数据,如下图:

那么也很简单,只需要把需要查询的内容导入PQ,替换自定义函数中的变量即可,可参考案例篇附件。

另外值得一提的是,上面介绍过抓取需要登录的网站要加cookie,而cookie是有生命周期的,有时候你发现昨天抓到的数据今天就报错了,就是因为cookie过期了,你可以打开高级编辑器修改cookie的代码,但是显然太麻烦了。所以也可以把cookie写在单元格中,然后导入PQ,这样就可以实现在不打开PQ的情况下实现本需要修改代码的刷新。

API即应用程序编程接口,调用API能够实现很多Power Query本身无法实现的功能,比如根据地址获取经纬度、翻译、分词、正则、机器人自动回复等等功能,可参考《使用PQ调用API》。

调用API的原理和网抓是一样的,其实很多网站的数据本身也是使用API调出来的。

一般开发文档都有详细说明,是使用GET还是POST,然后根据说明向服务器提交参数即可,返回的数据一般都是JSON。

部分API有免费限额,就是可以免费调用多少次,超出限额的需要收费,所以常见的比如地图、翻译等API都需要去开放平台注册为开发者,然后把自己的密钥加入到提交的参数中。

上面简单介绍了一下API,你可以把API理解成封装在服务器中的自定义函数,只需要向服务器提交函数所需要的参数,就能够返回你想要的结果。

那么服务器中的函数是怎么来的?那肯定是用编程语言来写的,比如PHP,Python等等,流程就是:你通过API提交参数,服务器中的编程语言写的程序来计算,得出结果并返回给你。

所以理论上只要是能够配置服务器环境的编程语言,都可以与PQ形成交互,比如《在Power Query中使用正则表达式》就是用PHP写的。

再比如使用Python的bottle包搭建本地服务器框架,便能够通过访问localhost与Python交互,可参考《M与Python交互》。

此篇长文是施阳大神的手笔,来自于pqfans。本来我想写一篇:

但折腾来折腾去发现还是没法超越施阳这篇文章,于是发来头条分享。仅作了细微文字上的梳理。扩展链接给出了原文链接。

}

在搭建网站时,网页会因使用技术不同以两种形式存在:静态页面和动态页面。这两者之间有哪些区别呢?

静态页面是指运行在客户端的程序、网页、插件、组件,它们而无需服务器的编译,可以直接加载到客户浏览器上显示。常见的静态页面举例:.html扩展名的,.htm扩展名的。

动态页面是指运行在服务端的程序、网页、组件,它们会随不同客户、不同时间返回不同的网页。常见的动态页面举例:JSP,ASP,PHP等,值得强调的是,不要将动态网页与页面内容是否有动感混为一谈,动态网页可以是纯文字内容的,也可以是包含各种动画的。所以说,只要采用了动态网站技术生成的网页都可以称之为动态网页。

静态页面和动态页面的区别:

1. 静态页面内容相对稳定,URL地址更容易被搜索引擎识别,所以网站在进行SEO优化的时候一般建议采取静态网页。

2. 静态页面无需数据库的支持,所以在访问速度比动态网页要快,不过随着浏览器和宽带速度的不断提升,这种差别会越来越小。

3. 动态网页要比静态网页的交互性更高,可以实现如用户注册、登录等一系列用户需要与网站发生互动的功能。

4. 动态网页不是一个独立存在服务上的网页,当用户发送请求时,服务器可能还要拼凑其他元素返回一个完整的网页,而静态网页一旦上传到服务器上,就是保存在服务器上的网页文件。

5. 虽然静态网页无需访问数据库,缓解了服务器压力。但随着网站内容越来越多,占用服务器空间也会越来越大,而动态网页则对服务器的性能要求较高。

总的来说,静态页面更加适合更新较少的展示型网站,而动态页面适合更新较多的互动型网站。

}

我要回帖

更多关于 html静态网页制作代码免费 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信