抓取ajax动态网页java(看一个和动态网页的相关概念(一)_)

优采云 发布时间: 2021-11-12 16:27

  抓取ajax动态网页java(看一个和动态网页的相关概念(一)_)

  本节我们来看看静态网页和动态网页相关的概念。如果您熟悉前端语言,那么您可以快速了解本节中的知识。

  我们在写爬虫程序的时候,首先要搞清楚要爬取的页面是静态的还是动态的。只有确定了页面类型,才能方便后续的网页分析和编程。对于不同类型的网页,编写爬虫时使用的方法也不尽相同。

  静态页面

  静态网页是标准的 HTML 文件,可以通过 GET 请求方法直接获取。文件扩展名为.html、.htm等。网页界面可以收录文本、图像、声音、FLASH*敏*感*词*、客户端脚本和其他插件程序等。静态网页是构建网站的基础,早期的网站一般都是由静态网页制作的。静态不是静态的,它还收录一些*敏*感*词*效果,这一点不要误会。

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

  静态网页的数据都收录在 HTML 中,因此爬虫可以直接从 HTML 中提取数据。通过分析静态网页的URL,找出URL查询参数的变化规律,就可以实现页面爬取。与动态网页相比,静态网页对搜索引擎更加友好,有利于搜索引擎收录。

  动态网页

  动态网页是指使用动态网页技术的网页,例如 AJAX(指一种用于创建交互式且快速的动态网页应用程序的网页开发技术)、ASP(动态交互式网页和强大的网页应用程序)、JSP( Java语言动态网页创建技术标准)等技术,无需重新加载整个页面内容,即可实现网页的局部更新。

  动态页面利用“动态页面技术”与服务器交换少量数据,从而实现网页的异步加载。我们来看一个具体的例子:打开百度图片(),搜索Python。当您滚动鼠标滚轮时,网页将自动从服务器数据库加载数据并呈现页面。这是动态网页和静态网页之间最基本的区别。如下:

  

  除了 HTML 标记语言,动态网页还收录一些特定功能的代码。这些代码允许浏览器和服务器进行交互。服务端会根据客户端的不同请求生成网页,涉及到数据库连接、访问、查询等一系列IO操作,因此响应速度比静态网页稍差。

  注:一般网站通常采用动静结合的方式来达到平衡状态。可以参考《网站构建动静态组合》简单理解。

  当然,动态网页也可以是纯文本,页面中还可以收录各种*敏*感*词*效果。这些只是网络内容的表达。其实不管网页有没有动态效果,只要使用了动态网站技术,那么这个网页就叫做动态网页。

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

  

  或者也可以使用专业的抓包工具Fiddler(点击访问)。动态网页的数据抓取将在后续内容中详细讲解。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线