网页爬虫抓取百度图片(Java静态网页和动态网页的区别及应用方法)
优采云 发布时间: 2022-04-04 16:15网页爬虫抓取百度图片(Java静态网页和动态网页的区别及应用方法)
静态和动态网页
我们在编写爬虫程序时,首先要判断要爬取的页面是静态的还是动态的。只有确定了页面类型,才能方便后续对网页进行分析和编程。对于不同类型的网页,编写爬虫程序时使用的方法也不同。
静态页面
静态网页是标准的HTML文件,可以直接通过GET请求方式获取。文件扩展名有.html、.htm等。网页可以收录文本、图像、声音、FLASH*敏*感*词*、客户端脚本和其他插件等。静态网页是构建网站的基础,早期的网站一般都是由静态网页制作而成。静态不是静态的,它还包括一些*敏*感*词*效果,不要误会。
我们知道当网站信息量很大时,网页的生成速度会降低。由于静态网页的内容比较固定,不需要连接后台数据库,响应速度非常快。但是静态网页更新比较麻烦,每次更新都需要重新加载整个网页。
静态网页的数据全部收录在 HTML 中,因此爬虫可以直接在 HTML 中提取数据。页面爬取可以通过分析静态网页的URL,找到URL查询参数的变化规律来实现。与动态网页相比,静态网页对搜索引擎更友好,对搜索引擎有好处收录。
动态网页
动态网页是指使用动态网页技术的页面,如 AJAX(指一种用于创建交互式快速动态网页应用的网页开发技术)、ASP(一种创建动态交互式网页和构建强大网页应用的方法) ) 程序)、JSP(Java 语言创建动态网页的技术标准)等技术,无需重新加载整个页面内容,即可实现网页的局部更新。
动态页面利用“动态页面技术”与服务器交换少量数据,从而实现网页的异步加载。我们来看一个具体的例子:打开百度图片(),搜索Python。当鼠标滚轮滚动时,网页会自动从服务器数据库加载数据并渲染页面。这是动态网页和静态网页最基本的区别。如下:
除了 HTML 标记语言之外,动态网页还收录特定功能的代码。这些代码让浏览器和服务端进行交互,服务端会根据客户端的不同请求生成网页,涉及到数据库连接、访问、查询等一系列IO操作,所以响应速度稍差与静态网页相比。
注意:一般网站通常会使用动静相结合的方式,使其达到一种平衡的状态。
当然,动态网页也可以是纯文本的,页面还可以收录各种*敏*感*词*效果。这些只是网页内容的表现形式。其实无论网页是否有动态效果,只要使用了动态网站技术,那么这个网页就称为动态网页。
爬取动态网页的过程比较复杂,需要通过动态抓包获取客户端与服务器交互的JSON数据。抓包时,可以使用谷歌浏览器开发者模式(快捷键:F12)Network)选项,然后点击XHR找到获取JSON数据的URL,如下图:
如何检查网页元素
浏览器都具有用于检查元素的内置功能。不同的浏览器调用这个函数的方式不同。谷歌(Chrome)浏览器称其为“检查”,而 Firefox 称其为“检查元素”。是一样的,