大家好,我是黄
网络爬虫又称网络蜘蛛,是一种按照一定的逻辑和算法从互联网上抓取并下载网页的计算机程序,是搜索引擎的重要组成部分。简单地说,网络爬虫是一种模拟人类访问互联网的方式,不断从互联网上爬取我们需要的数据的程序。我们可以定制各种爬虫来满足不同的需求。如果法律允许,你可以收集你在网页上看到的任何你想获取的数据。
在编写爬虫程序之前,我们首先要明确要爬取的页面是静态的还是动态的。确定了页面类型,我们才能进行网页的分析以及后面程序的编写。针对不同类型的网页,编写爬虫程序的方法也是不一样的。今天我就带大家了解一下静态网页和动态网页的相关概念。
静态页面
静态网页是标准的HTML文件,可以通过GET请求方法直接获取,文件扩展名有.html、.htm等,网页中可以包含文字、图片、声音、FLASH动画、客户端脚本等插件等。静态网页是网站建设的基础,早期的网站一般都是用静态网页做成的,静态不代表一成不变,还包含一些动画效果,请不要误解这一点。
我们知道,当网站的信息量很大时,生成网页的速度就会变慢。由于静态网页的内容相对固定,不需要连接后端数据库,所以响应速度很快。但是静态网页的更新比较麻烦,每次更新都需要重新加载整个网页。
静态网页的数据全部包含在HTML中,因此爬虫可以直接从HTML中提取数据。通过分析静态网页的URL,找到URL查询参数的变化规律,实现页面爬取。相对于动态网页,静态网页对搜索引擎更加友好,有利于搜索引擎收录。
动态网页
动态网页是指使用动态网页技术的网页,例如AJAX(一种用于创建交互式、快速的动态Web应用程序的Web开发技术)、ASP(一种创建动态交互式网页、构建功能强大的Web应用程序的技术)、JSP(一种使用Java语言创建动态网页的技术标准)等。它可以实现网页的局部更新而不需要重新加载整个页面内容。
动态页面利用“动态页面技术”与服务器进行少量数据交换,从而实现网页的异步加载。我们来看一个具体的例子:打开百度图片(),进行搜索,当你滚动鼠标滚轮时,网页就会自动从服务器数据库加载数据并渲染页面。这是动态网页与静态网页最基本的区别。如下图所示:
动态网页除了HTML标记语言之外,还包含一些具有特定功能的代码,这些代码使得浏览器和服务器能够进行交互,服务器会根据客户端的不同请求生成网页,这涉及到数据库的连接、访问、查询等一系列IO操作,因此其响应速度比静态网页略慢。
当然,动态网页也可以是纯文本,页面中还可以包含各种动画效果,这些只是网页内容的表现形式而已,其实不管网页是否具有动态效果,只要采用了动态网站技术,那么网页就被称为动态网页。
动态网页的抓取流程相对复杂一些,需要通过动态抓包来获取客户端与服务端交互的JSON数据。抓包时可以使用谷歌浏览器开发者模式(快捷键:F12)选项,然后点击XHR,找到获取JSON数据的URL,如下图:
或者您也可以使用专业的抓包工具(点击访问)。
推荐“经典原创”文章 点击标题跳转
4.
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。