首页 > SEO建站 > SEO百科网络爬虫是什么意思?详解网络爬虫的分类、组成、工作原理及搜索策略

网络爬虫是什么意思?详解网络爬虫的分类、组成、工作原理及搜索策略

2023-06-25 10:10:49

网络爬虫是什么意思

一、网络爬虫是什么意思

网络爬虫(英文:Web Crawler或Spider)又称为网络蜘蛛、网页蜘蛛或网络机器人,是一种按照一定规则,自动地抓取互联网信息的程序或者脚本。网络爬虫是为搜索引擎从万维网上下载网页的程序,是搜索引擎的重要组成。传统爬虫从一个或若干个初始网页上的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。

二、网络爬虫的分类及工作原理

网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General PURpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫(Incremental Web Crawler)、深度爬虫(Deep Web Crawler)。 实际的网络爬虫系统通常是几种爬虫技术相结合实现的。

1、通用网络爬虫

通用网络爬虫又称全网爬虫(Scalable Web Crawler),爬行对象从一些种子 URL 扩充到整个 Web,主要为门户站点搜索引擎和大型 Web 服务提供商采集数据。 由于商业原因,它们的技术细节很少公布出来。 这类网络爬虫的爬行范围和数量巨大,对于爬行速度和存储空间要求较高,对于爬行页面的顺序要求相对较低,同时由于待刷新的页面太多,通常采用并行工作方式,但需要较长时间才能刷新一次页面。 虽然存在一定缺陷,但通用网络爬虫适用于搜索引擎搜索广泛的主题,有较强的应用价值。

通用爬虫的工作流程

*通用爬虫的工作流程

通用爬虫主要存在以下几方面的局限性:

(1)、由于抓取目标是尽可能大的覆盖网络,所以爬行的结果中包含大量用户不需要的网页;

(2)、不能很好地搜索和获取信息含量密集且具有一定结构的数据;

(3)、通用搜索引擎大多是基于关键字的检索,对于支持语义信息的查询和索引擎智能化的要求难以实现。

2、聚焦网络爬虫(主题爬虫)

聚焦网络爬虫(Focused Crawler),又称主题网络爬虫(Topical Crawler),是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫。 和通用网络爬虫相比,聚焦爬虫只需要爬行与主题相关的页面,极大地节省了硬件和网络资源,保存的页面也由于数量少而更新快,还可以很好地满足一些特定人群对特定领域信息的需求。

(1)、主题爬虫原理

主题爬虫并不追求大的覆盖率,也不是全盘接受所有的网页和URL,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息,不仅客服了通用爬虫存在的问题,而H-返回的数据资源更精确。主题爬虫的基本工作原理是按照预先确定的主题,分析超链接和 刚刚抓取的网页内容,获取下一个要爬行的URL,尽可能保证多爬行与主题相关的网页,因此主题爬虫要解决以下关键问题:1)如何判定一个已经抓取的网页是 否与主题相关;2)如何过滤掉海量的网页中与主题不相关的或者相关度较低的网页;3)如何有目的、有控制的抓取与特定主题相关的web页面信息;4)如何 决定待访问URL的访问次序;5)如何提高主题爬虫的覆盖度;6)如何协调抓取目标的描述或定义与网页分析算法及候选URL排序算法之问的关系;7)如何 寻找和发现高质量网页和关键资源。高质量网页和关键资源不仅可以大大提高主题爬虫搜集Web页面的效率和质量,还可以为主题表示模型的优化等应用提供支持。

(2)、主题爬虫模块设计

主题爬虫的目标是尽可能多的发现和搜集与预定主题相关的网页,其最大特点在于具备分析网页内容和判别主题相关度的能力。根据主题爬虫的 工作原理,下面设计了一个主题爬虫系统,主要有页面采集模块、页面分析模块、相关度计算模块、页面过滤模块和链接排序模块几部分组成,其总体功能模块结构 如图2所示。

页面采集模块:主要是根据待访问URL队列进行页面下载,再交给网页分析模型处理以抽取网页主题向量空间模型。该模块是任何爬虫系统都必不可少的模块。页面分析模块:该模块的功能是对采集到的页面进行分析,主要用于连接超链接排序模块和页面相关度计算模块。

页面相关度计算模块:该模块是整个系统的核心模块,主要用于评估与主题的相关度,并提供相关的爬行策略用以指导爬虫的爬行过程。URL 的超链接评价得分越高,爬行的优先级就越高。其主要思想是,在系统爬行之前,页面相关度计算模块根据用户输入的关键字和初始文本信息进行学习,训练一个页 面相关度评价模型。当一个被认为是主题相关的页面爬行下来之后,该页面就被送入页面相关度评价器计算其主题相关度值,若该值大于或等于给定的某阂值,则该 页面就被存入页面库,否则丢弃¨。页面过滤模块:过滤掉与主题无关的链接,同时将该URL及其所有隐含的子链接一并去除。通过过滤,爬虫就无需遍历与主题 不相关的页面,从而保证了爬行效率。排序模块:将过滤后页面按照优先级高低加入到待访问的URL队列里。

(3)、主题爬虫流程设计

主题爬虫需要根据一定的网页分析算法,过滤掉与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它会根据一定的 搜索策略从待抓取的队列中选择下一个要抓取的URL,并重复上述过程,直到满足系统停止条件为止。所有被抓取网页都会被系统存储,经过一定的分析、过滤, 然后建立索引,以便用户查询和检索;这一过程所得到的分析结果可以对以后的抓取过程提供反馈和指导。

主题爬虫的工作流程

*主题爬虫的工作流程

聚焦网络爬虫和通用网络爬虫相比,增加了链接评价模块以及内容评价模块。聚焦爬虫爬行策略实现的关键是评价页面内容和链接的重要性,不同的方法计算出的重要性不同,由此导致链接的访问顺序也不同。

3、增量式网络爬虫

增量式网络爬虫(Incremental Web Crawler)是指对已下载网页采取增量式更新和只爬行新产生的或者已经发生变化网页的爬虫,它能够在一定程度上保证所爬行的页面是尽可能新的页面。 和周期性爬行和刷新页面的网络爬虫相比,增量式爬虫只会在需要的时候爬行新产生或发生更新的页面,并不重新下载没有发生变化的页面,可有效减少数据下载量,及时更新已爬行的网页,减少时间和空间上的耗费,但是增加了爬行算法的复杂度和实现难度。增量式网络爬虫的体系结构[包含爬行模块、排序模块、更新模块、本地页面集、爬行 URL 集以及本地页面URL 集]。

增量式爬虫有两个目标:保持本地页面集中存储的页面为最新页面和提高本地页面集中页面的质量。 为了实现第一个目标,增量式爬虫需要通过重新访问网页来更新本地页面内容,常用的方法有:

(1)、统一更新法:爬虫以相同的频率访问所有网页,不考虑网页的改变频率;

(2)、个体更新法:爬虫根据个体网页的改变频率来重新访问各页面;

(3)、基于分类的更新法:爬虫根据网页改变频率将其分为更新较快网页子集和更新较慢网页子集两类,然后以不同的频率访问这两类网页。

4、Deep Web爬虫(深度爬虫)

Web 页面按存在方式可以分为表层网页(Surface Web)和深层网页(Deep Web,也称 Invisible Web Pages 或 Hidden Web)。 表层网页是指传统搜索引擎可以索引的页面,以超链接可以到达的静态网页构成的 Web 页面。Deep Web 是那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的 Web 页面。例如那些用户注册后内容才可见的网页就属于 Deep Web。 2000 年 Bright Planet 指出:Deep Web 中可访问信息容量是 Surface Web 的几百倍,是互联网上最大、发展最快的新型信息资源。

深度爬虫流程图

*深度爬虫流程图

Deep Web 爬虫体系结构包含六个基本功能模块 (爬行控制器、解析器、表单分析器、表单处理器、响应分析器、LVS 控制器)和两个爬虫内部数据结构(URL 列表、LVS 表)。 其中 LVS(Label Value Set)表示标签/数值集合,用来表示填充表单的数据源。

三、网络爬虫的组成

在网络爬虫的系统框架中,过程由控制器,解析器,资源库三部分组成。控制器的主要工作是负责给多线程中的各个爬虫线程分配工作任务。解析器的主要工作是下载网页,进行页面的处理,主要是将一些JS脚本标签、CSS代码内容、空格字符、Html标签等内容处理掉,爬虫的基本工作是由解析器完成。资源库是用来存放下载的网页资源,一般都采用大型的数据库存储,并对其建立索引。

1、控制器

控制器是网络爬虫的中央控制器,它主要是负责根据系统传过来的URL链接,分配线程,然后启动线程调用爬虫爬取网页的过程。

2、解析器

解析器是负责网络爬虫的主要部分,其负责的工作主要有:下载网页的功能,对网页的文本进行处理,过滤功能,抽取特殊HTML标签的功能,分析数据的功能。

3、资源库

主要是用来存储网页中下载下来的数据记录的容器,并提供生成索引的目标源。中大型的数据库产品有:OracleSQL Server等。

四、网络爬虫的搜索策略

为了提高工作效率,通用网络爬虫会采取一定的爬行策略。 常用的爬行策略有:IP地址搜索策略、深度优先策略及广度优先策略。

1、IP地址搜索策略

IP地址搜索策略是先给爬虫一个起始的IP地址,然后根据IP地址以递增的方式搜索本IP地址段后的每一个地址中的文档,它完全不考虑各文档中指向其它Web站点的超级链接地址。这种搜索策略的优点是搜索比较全面,因此能够发现那些没被其它文档引用的新文档的信息源;但是缺点是不适合大规模搜索。

2、深度优先策略:其基本方法是按照深度由低到高的顺序,依次访问下一级网页链接,直到不能再深入为止。 爬虫在完成一个爬行分支后返回到上一链接节点进一步搜索其它链接。 当所有链接遍历完成后,爬行任务结束。 这种策略比较适合垂直搜索或站内搜索,但爬行页面内容层次较深的站点时会造成资源的巨大浪费。

3、广度优先策略:此策略按照网页内容目录层次深浅来爬行页面,处于较浅目录层次的页面首先被爬行。 当同一层次中的页面爬行完毕后,爬虫再深入下一层继续爬行。 这种策略能够有效控制页面的爬行深度,避免遇到一个无穷深层分支时无法结束爬行的问题,实现方便,无需存储大量中间节点,不足之处在于需要较长时间才能爬行到目录层次较深的页面。

五、网络爬虫的基本步骤

1、首先选取一部分种子URL;

2、将这些URL放入待抓取URL队列;

3、从待抓取URL队列中取出待抓取的URL,解析DNS,得到主机的IP,并将URL对应的网页下载下来,存储到已下载网页库中,此外,将这些URL放入已抓取URL队列;

4、分析已抓取到的网页内容中的其他URL,并将URL放入待抓取URL队列,从而进入下一个循环。

六、网络爬虫的应用场景

1、搜索引擎抓取网页信息

大家常用的搜索引擎的首要工作流程就是利用网络爬虫去爬取各个网站的页面。以百度蜘蛛为例,一旦有网站的页面更新了,百度蜘蛛就会出动,然后把爬取的页面信息搬回百度,再进行多次的筛选和整理。最终在大家搜索相关信息的时候,通过排名呈现给大家。可以说,没有网络爬虫,我们使用搜索引擎查询资料的时候,就不会那么便捷、全面和高效。

2、爬取需要对数据进行统计

冷数据启动是丰富数据的主要工具,新业务开始时,由于刚起步,所以没有多少数据,此时就需要爬取其他平台的数据来填充我们的业务数据。比如说,如果我们想做一个类似大众点评这样的平台,一开始没有商户等信息,就需要去爬取大众,美团等商家的信息来填充数据,比如天眼查,企查查,西瓜数据等等。

3、出行类软件通过爬虫抢票

如果问网络爬虫技术应用最多的领域是什么?那一定是出行行业。相信每逢春运或是节假日,大家都用过一些抢票的软件,就为了获得一张机票或者是一张火车票,而这种出行类软件正是运用网络爬虫技术来达到抢票的目的。像抢票软件这样的网络爬虫,会不停地爬取交通出行的售票网站,一旦有票就会点击拍下来,放到自己的网站售卖。如果一定时间内没有人购买,就会自动退票。然后又通过网站爬虫把票拍下来,到时间又继续退票,如此反复循环。

4、聚合平台整合信息进行比较。

如今,出现了很多比价平台、聚合电商还有返利平台等,这类聚合平台的本质都是提供横向数据比较,聚合服。比如说电商中经常需要有一种比价系统,从各大电商平台,如拼多多,淘宝,京东等抓取同一个商品的价格信息,以给用户提供最实惠的商品价格,这样就需要利用网络爬虫从各大电商平台爬取信息。

七、主流搜索引擎爬虫介绍

1、BaiduSpider(百度蜘蛛)

常见的百度蜘蛛有:Baiduspider 和 Baiduspider-image(抓取图片)。国内网站大多数流量都来自百度,所以推荐放行。

百度还有其它几个蜘蛛:

Baiduspider-video(抓取视频)

Baiduspider-news(抓取新闻)

Baiduspider-mobile(抓取wap)

百度蜘蛛介绍:http://www.baidu.com/search/spider.html

2、Googlebot(谷歌蜘蛛)

常见的谷歌蜘蛛有:Googlebot,还有一个 Googlebot-Mobile ,不是很常见,看名字应该是抓取 wap 页面的。世界第一大搜索引擎,推荐放行。

谷歌蜘蛛链接:http://www.google.com/bot.html

3、360Spider(360蜘蛛)

一个十分"勤奋抓爬"的蜘蛛。

360蜘蛛IP:https://www.so.com/help/spider_ip.html

4、Sogou web spider(搜狗蜘蛛)

搜狗公司还有其它几个蜘蛛:Sogou News Spider、Sogou inst spider、Sogou spider2、Sogou blog、Sogou Orion spider、Sogou web spider。

搜狗蜘蛛爬虫:http://www.sogou.com/docs/help/webmasters.htm

5、Bingbot(必应蜘蛛)

必应是微软的搜索引擎,微软的IE浏览器和Edge浏览器会默认使用该搜索引擎,而且占有率也还可以,不建议屏蔽。

必应蜘蛛爬虫:http://www.bing.com/bingbot.htm

6、Sosospider(SOSO蜘蛛)

腾讯soso,目前搜狗公司管理。

soso蜘蛛爬虫:http://help.soso.com/webspider.htm

7、Yahoo Slurp China(雅虎中国)或 Yahoo! Slurp(雅虎英文)

雅虎蜘蛛爬虫:

雅虎中国:http://misc.yahoo.com.cn/help.html

雅虎英文:http://help.yahoo.com/help/us/ysearch/slurp

8、MSNBot,MSNot-media(MSN蜘蛛)

MSNBOT应该是 bing 搜索的蜘蛛,MSN和bing是一家的,可以只保留 Bingbot。

MSN蜘蛛爬虫:http://search.msn.com/msnbot.htm

9、YisouSpider(一搜蜘蛛/神马搜索)

神马搜索是UC和阿里2013年已经成立合资公司推出的移动搜索引擎。

该蜘蛛抓取频率还是很高的,很多人并不看好,不过如果屏蔽的话,会损失 UC浏览器的流量来源。自己斟酌吧!

10、还有一些蜘蛛,不会给网站带来什么流量,站长看是否屏蔽。

YoudaoBot(有道蜘蛛):网易有道的蜘蛛,并不会带来流量。

JikeSpider(即刻蜘蛛):"即刻搜索"是由人民搜索网络股份公司于2011年6月20日推出的通用搜索引擎平台。

即刻蜘蛛:http://shoulu.jike.com/spider.html

ToutiaoSpider(头条号):今日头条的头条号蜘蛛,不能带来流量,屏蔽好啦。

来源:http //web toutiao com/media_cooperation

除了上述的爬虫,其他的就直接毫不犹豫的禁掉。

总结

优化猩SEO:在信息大爆炸的时代,网络爬虫可以代替手工做很多事情,比如可以用于做搜索引擎,也可以爬取网站上面的图片等,网络爬虫可以更高效率地利用好互联网中的有效信息。

参考链接:

网络爬虫_百度百科

https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB/5162711

网络爬虫 - MBA智库百科

https://wiki.mbalib.com/wiki/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB

2019年搜索引擎蜘蛛爬虫名称最新整理总汇-腾讯云

https://cloud.tencent.com/developer/article/1537951

网络爬虫是干什么的?有哪些应用场景?-博学谷

https://www.boxuegu.com/news/3975.html

修改于2023-06-25

想了解更多SEO百科的内容,请访问:SEO百科

本文来源:https://www.youhuaxing.cn/seojianzhan/17484.html

免责声明:部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,不承担任何法律责任。
用我们的专业,做您满意的SEO+高端网站建设服务商!