去评论
海欣资源

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

pollf
2022/04/20 22:51:06
一,静态网页
1.1 什么是静态网页
简单而言呢?就是我用Python中的requests模块访问某个网址,如果打印出的结果和我用浏览器看到的结果基本差不多(这里的结果是指数据信息),通常情况下可以称呼这个网页是一个静态网页(当然有些网站页面上有些数据你有可能获取不到,这个涉及到动态网页部分了,可以看小编的第2点)。
1.2 怎样辨别静态网页
通常我们使用浏览器打开某一个网页时,按电脑键盘F12键或者鼠标右键下的检查,来到开发者工具下,然后点击Network下的All下的第一个网址,点击Preview,如果发现在Preview下看到的数据信息和我们在网页上看到的信息基本一致,那么可以称呼这个网页为一个静态网页,也就是说此时你可以直接使用requests访问这个网址,即可爬取得到相应的数据信息。
请添加图片描述

利用requests模块访问

当然,也可以直接在这个网页下鼠标右键,然后点击查看源代码这个选项,直接查看这个网页的源代码,如果这个源代码下有你需要需要的数据,那么你可以直接访问这个网页便可以得到想要的数据了。

1.3 需要注意些什么
    有的静态网页下并不是所有数据你都可以获取到的(比如评论信息,通常访问这个网址是获取不到的),因为它下面嵌套了一些ajax请求,如果你要或许到这些数据,需要找到这个ajax请求链接,然后请求这个 ajax链接才能得到这些数据。通常这些ajax请求链接在开发者工具下的Network下XHR(有的情况下在js)下找。
    另外,有些网站的数据是静态加载的,但是这个数据通过使用js来渲染了,所以你也抓取不到这个数据,这种情况下你需要找到这个数据,通常情况下这个数据能在某个<script>标签元素下找到,用这样的方式加载数据的网页小编碰到过的有哔哩哔哩,西瓜视频等。你使用requests模块访问这个网址,然后利用相应的解析模块得到这个数据即可。


二, 动态网页(数据)
动态网页简单来说的话就是你使用requests模块来访问某个网址(页),得到数据通常只看到一些<script>标签以及相应的html基本元素等,你需要的数据基本没有看到。
通常这些数据也就是我们所说的利用ajax请求从后端获取数据到前端,然后利用一些js代码来渲染的。
也就是说要找到相应的ajax请求链接,然后才能得到我们想要的数据,通常这样得到的数据为json数据,所以我们解析这种数据,需要用到Python模块可以为json模块或者demjson模块。