搜索引擎蜘蛛爬虫原理
- 格式:docx
- 大小:18.76 KB
- 文档页数:3
搜索引擎工作原理搜索引擎是一种通过收集、存储、索引和呈现互联网上的信息来帮助用户找到所需信息的工具。
它们使用复杂的算法和技术来分析和组织互联网上的海量数据,并根据用户的查询提供相关的搜索结果。
下面将详细介绍搜索引擎的工作原理。
1. 网络爬虫搜索引擎的第一步是使用网络爬虫(也称为蜘蛛或机器人)来浏览互联网上的网页。
网络爬虫从一个初始的网址开始,然后按照链接逐个访问其他网页,并将这些网页的内容下载下来。
爬虫会遵循互联网上的链接,以便尽可能地覆盖更多的网页。
爬虫还会更新已经被索引的网页,以便获取最新的信息。
2. 网页索引一旦爬虫下载了网页的内容,搜索引擎会将这些内容存储在一个被称为索引的数据库中。
索引是搜索引擎的核心组成部分,它包含了关键词、网页的URL、摘要和其他相关信息。
索引使得搜索引擎能够快速地找到相关的网页,并根据用户的查询返回相关的搜索结果。
为了建立索引,搜索引擎会对网页的内容进行分析和处理。
它们会将网页的文本提取出来,并去除HTML标签和其他噪音。
然后,搜索引擎会对文本进行分词,将文本划分为单词或短语。
这些单词或短语被称为关键词,它们是搜索引擎用来匹配用户查询的重要依据。
3. 搜索算法搜索引擎使用复杂的算法来确定哪些网页与用户的查询最相关。
这些算法会考虑多个因素,例如关键词的出现频率、关键词的位置、网页的质量和权威性等。
搜索引擎还会使用一些技术来过滤垃圾信息和欺诈性网页,以提供高质量的搜索结果。
4. 搜索结果排名搜索引擎会根据算法的结果对搜索结果进行排名。
排名决定了搜索结果在搜索引擎页面上的显示顺序。
通常,排名靠前的搜索结果被认为是最相关的。
搜索引擎会根据用户的查询和网页的相关性对搜索结果进行排序,并将最相关的结果显示在前几页。
5. 用户体验和反馈搜索引擎还会考虑用户的体验和反馈来不断改进搜索结果的质量。
它们会收集用户的点击行为、停留时间和搜索历史等信息,并根据这些信息来优化搜索结果的排序和相关性。
搜索引擎spider爬⾍(蜘蛛)原理做SEO的⼈应该要对搜索引擎的基本原理有⼀些了解,从搜索引擎发现⽹址到该页⾯拥有排名,以及后续更新整个过程中,搜索引擎到底是怎么⼯作的?你都需要了解。
对于专业的算法不必进⾏深⼊的研究,但是对于搜索引擎⼯作中的⽣命⼒和算法原理要有个简单的认知,这样才能更有效地开展SEO⼯作,知其然也要知其所以然;当然也有⼀些朋友不懂这些,照样做昨有声有⾊,但是有对搜索引擎⼯作原理,懂总⽐不懂好⼀点。
以往的SEO书藉中对这内容讲解都⽐较简单,希望在些能够尝试结合SEO实际⼯作和现象,更进⼀步剖析⼀下搜索引擎的⼯作原理,其实当你了解了搜索引擎的⼯作流程、策略和基本算法后,就可以在⼀定程序上避免因为不当操作⽽带来的不必要处罚,同也可以快速分析出很多搜索引擎搜索结果异常的原因。
有搜索⾏为的地⽅就有搜索引擎,站内搜索、全⽹搜索、垂直搜索等都⽤到搜索引擎;接下来,本⽂会根据从业认知,讨论⼀下全⽂搜索引擎的基本架构。
百度、⾕歌等综合搜索巨头肯定有着更为复杂的架构和检索技术,但宏观上基本原理都差不多的。
搜索引擎的⼤概架构如图2-1所⽰。
可以分成虚线左右两个部分:⼀部分是主动抓取⽹页进⾏⼀系列处理后建⽴索引,等待⽤户搜索;另⼀部分是分析⽤户搜索意图,展现⽤户所需要的搜索结果。
搜索引擎主动抓取⽹页,并进⾏内容处理、索引部分的流程和机制⼀般如下:1.派出spider按照⼀定策略把⽹页抓回到搜索引擎服务器;2.对抓回的⽹页进⾏链接抽离、内容处理,削除噪声、提取该页主题⽂本内容等;3.对⽹页的⽂本内容进⾏中⽂分词、去除停⽌词等;4.对⽹页内容进⾏分词后判断该页⾯内容与已索引⽹页是否有重复,剔除重复页,对剩余⽹页进⾏倒排索引,然后等待⽤户的检索。
当有⽤户进⾏查询后,搜索引擎⼯作的流程机制⼀般如下:1.先对⽤户所查询的关键词进⾏分词处理,并根据⽤户的地理位置和历史检索特征进⾏⽤户需求分析,以便使⽤地域性搜索结果和个性化搜索结果展⽰⽤户最需要的内容;2.查找缓存中是否有该关键词的查询结果,如果有,有为最快地呈现查询,搜索引擎会根据当下⽤户的各种信息判断其真正需求,对缓存中的结果进⾏微调或直接呈现给⽤户;3.如果⽤户所查询的关键词在缓存中不存在,那么就在索引库中的⽹页进⾏调取排名呈现,并将该关键词和对应的搜索结果加⼊到缓存中;4.⽹页排名是⽤户的搜索词和搜索需求,对索引库中⽹页进⾏相关性、重要性(链接权重分析)和⽤户体验的⾼低进⾏分析所得出的。
搜索引擎的工作原理搜索引擎是一种用于在互联网上搜索信息的工具。
它通过采集、索引和排序互联网上的网页内容,为用户提供相关的搜索结果。
搜索引擎的工作原理可以简单地分为三个步骤:抓取网页、建立索引和提供搜索结果。
1. 抓取网页搜索引擎通过网络爬虫(也称为蜘蛛或者机器人)来抓取互联网上的网页。
网络爬虫会按照一定的规则从一个网页转到另一个网页,将网页的内容下载下来。
爬虫会根据网页中的链接不断地跳转到其他网页,形成一个爬行路径,以获取尽可能多的网页内容。
2. 建立索引抓取下来的网页内容会被搜索引擎进行处理和分析,以建立一个庞大的网页索引。
索引是一种结构化的数据存储方式,它会记录每一个网页的关键信息,如标题、摘要、URL和关键词等。
搜索引擎会对网页内容进行分词处理,将关键词和对应的网页进行关联。
这样,当用户搜索关键词时,搜索引擎可以快速地找到相关的网页。
3. 提供搜索结果当用户输入关键词进行搜索时,搜索引擎会根据用户的需求从建立的索引中匹配相关的网页。
搜索引擎会根据一系列的算法,对匹配的网页进行排序,并将最相关的网页展示给用户。
排序算法会考虑多个因素,如关键词的浮现频率、网页的权重和链接的质量等。
搜索引擎还会提供一些搜索结果的过滤选项,如时间范围、文件类型和地域等,以满足用户的个性化需求。
搜索引擎的工作原理虽然看似简单,但实际上暗地里涉及了复杂的技术和算法。
为了提高搜索结果的质量和准确性,搜索引擎公司会不断地改进和优化搜索引擎的工作原理。
他们会利用机器学习和人工智能等技术,不断提升搜索引擎的智能化水平,以更好地满足用户的搜索需求。
搜索引擎的工作原理搜索引擎是一种用于匡助用户在互联网上查找信息的工具。
它通过采集、索引和排序互联网上的网页内容,以便用户能够通过关键词搜索来获取相关的信息。
搜索引擎的工作原理可以分为以下几个步骤:1. 网页抓取:搜索引擎通过网络爬虫程序(也称为蜘蛛)自动抓取互联网上的网页内容。
网络爬虫会按照一定的规则遍历网页,并将网页的内容下载到搜索引擎的数据库中。
2. 网页索引:搜索引擎将抓取到的网页内容进行索引处理,以便能够快速地检索和呈现相关的结果。
索引是一个包含关键词和网页地址的数据库,它可以匡助搜索引擎快速找到相关的网页。
3. 关键词分析:当用户输入关键词进行搜索时,搜索引擎会对用户输入的关键词进行分析。
关键词分析的目的是理解用户的意图,并根据用户的意图提供相关的搜索结果。
4. 搜索算法:搜索引擎使用一系列复杂的算法来确定哪些网页与用户的搜索意图最相关。
这些算法会根据网页的内容、关键词的浮现频率、网页的权威性等因素来评估网页的相关性,并将最相关的网页排在搜索结果的前面。
5. 搜索结果呈现:搜索引擎会根据算法的评估结果,将最相关的网页呈现给用户。
搜索结果通常以列表的形式展示,每一个搜索结果都包含了网页的标题、描述和网址等信息,以便用户能够快速浏览和选择合适的结果。
除了以上的基本原理,搜索引擎还会考虑用户的搜索历史、地理位置和其他个性化因素来提供更加精准的搜索结果。
此外,搜索引擎还会不断地更新索引和算法,以适应互联网上不断变化的内容和用户需求。
总结起来,搜索引擎的工作原理包括网页抓取、网页索引、关键词分析、搜索算法和搜索结果呈现等步骤。
通过这些步骤,搜索引擎能够匡助用户快速、准确地找到他们所需的信息。
搜索引擎的原理是
搜索引擎的原理是通过收集和组织互联网上的信息,然后根据用户的搜索关键词来匹配和排名搜索结果。
首先,搜索引擎会使用网络爬虫程序(也称为蜘蛛或机器人)来自动浏览互联网上的网页。
爬虫程序会从一个网页开始,然后通过页面上的链接跳转到其他页面,并将这些页面的内容下载到搜索引擎的数据库中。
这个过程称为爬行。
接下来,搜索引擎会对收集到的网页进行索引。
索引是一个结构化的数据库,其中存储了每个网页的关键信息,如标题、URL、摘要和内容标签等。
通过索引,搜索引擎可以快速地查找和检索网页,以便根据用户的搜索查询返回相关的结果。
当用户输入一个搜索关键词时,搜索引擎会根据索引中的信息来匹配相关的网页。
它会比较关键词与网页标题、正文和其他标签的相似度,并根据算法对搜索结果进行排序。
常见的算法包括PageRank和TF-IDF等。
在返回搜索结果时,搜索引擎会根据搜索查询的相关性和网页的质量来排名结果。
相关性指的是搜索查询与网页内容的匹配程度,而质量则涉及到网页的可信度、权威性、受欢迎程度等因素。
在确保搜索结果的多样性的情况下,搜索引擎会尽可能地提供最相关和有用的结果给用户。
此外,搜索引擎还会根据用户的搜索历史、地理位置和其他个性化因素来调整搜索结果,以提
供更加个性化的搜索体验。
总之,搜索引擎的原理是通过爬行、索引和排序等步骤来收集和组织互联网上的内容,并根据用户的搜索查询来返回最相关和有用的搜索结果。
标题的重要性在搜索引擎的算法中扮演着重要的角色,但是搜索引擎也会考虑其他因素来提供更全面、准确和个性化的搜索结果。
搜索引擎的工作原理搜索引擎是一种用于在互联网上查找信息的工具。
它通过采集、索引和排序互联网上的网页,以便用户能够快速、准确地找到所需的信息。
下面将详细介绍搜索引擎的工作原理。
一、网络爬虫搜索引擎的工作始于网络爬虫,也被称为蜘蛛或者机器人。
网络爬虫是一种自动化程序,它会按照预定的规则从互联网上下载网页。
爬虫从一个种子URL开始,然后通过解析网页中的链接,逐步扩展到其他网页。
爬虫会定期访问网页,以确保索引的内容是最新的。
二、网页索引爬虫下载的网页会被送往搜索引擎的索引程序进行处理。
索引程序会提取网页的关键信息,并创建一个包含这些信息的索引数据库。
这个数据库类似于一本巨大的目录,记录了互联网上的各个网页的关键词、标题、摘要和链接等信息。
索引程序还会对这些信息进行分析和处理,以提高搜索结果的质量。
三、关键词匹配当用户在搜索引擎中输入关键词进行搜索时,搜索引擎会将这些关键词与索引数据库中的内容进行匹配。
搜索引擎会根据关键词的相关性和网页的权威性来确定搜索结果的排序。
关键词的相关性是指关键词与网页内容的匹配程度。
搜索引擎会将关键词与网页的标题、正文和链接等进行比对,以确定网页与关键词的相关性。
通常情况下,如果一个网页中包含了用户搜索的关键词,并且关键词在网页中的位置较为靠前,那末这个网页就会被认为与关键词的相关性较高。
网页的权威性是指网页在互联网上的信誉和影响力。
搜索引擎会根据网页的外部链接数量和质量来评估网页的权威性。
如果一个网页被其他网页广泛引用,那末搜索引擎就会认为这个网页的权威性较高。
四、搜索结果页面当搜索引擎确定了搜索结果的排序后,它会将这些结果展示给用户。
搜索结果页面通常包含了多个搜索结果,每一个搜索结果都包括了网页的标题、摘要和链接等信息。
用户可以点击链接来访问他们感兴趣的网页。
搜索结果页面还可能包含一些相关的搜索建议、广告和其他相关信息。
搜索引擎会根据用户的搜索行为和个人资料来定制搜索结果页面,以提供更加个性化和实用的搜索结果。
搜索引擎Web Spider(蜘蛛)爬取的原理分享一、网络蜘蛛基本原理网络蜘蛛即WebSpider,是一个很形象的名字。
把互联网比方成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。
网络蜘蛛是通过网页的链接地址来寻觅网页,从网站某一个页面(通常是首页)开头,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻觅下一个网页,这样向来循环下去,直到把这个网站全部的网页都抓取完为止。
假如把囫囵互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上全部的网页都抓取下来。
对于搜寻引擎来说,要抓取互联网上全部的网页几乎是不行能的,从目前公布的数据来看,容量最大的搜寻引擎也不过是抓取了囫囵网页数量的百分之四十左右。
这其中的缘由一方面是抓取技术的瓶颈,薹ū槔械耐常行矶嗤澄薹ù悠渌车牧唇又姓业剑涣硪桓鲈蚴谴娲⒓际鹾痛砑际醯奈侍猓绻凑彰扛鲆趁娴钠骄笮∥0K计算(包含),100亿网页的容量是100×2000G字节,即使能够存储,下载也存在问题(根据一台机器每秒下载20K计算,需要340台机器不停的下载一年时光,才干把全部网页下载完毕)。
同时,因为数据量太大,在提供搜寻时也会有效率方面的影响。
因此,许多搜寻引擎的网络蜘蛛只是抓取那些重要的网页,而在抓取的时候评价重要性主要的依据是某个网页的链接深度。
在抓取网页的时候,网络蜘蛛普通有两种策略:广度优先和深度优先(如下图所示)。
广度优先是指网络蜘蛛会先抓取起始网页中链接的全部网页,然后再挑选其中的一个链接网页,继续抓取在此网页中链接的全部网页。
这是最常用的方式,由于这个办法可以让网络蜘蛛并行处理,提高其抓取速度。
深度优先是指网络蜘蛛会从起始页开头,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。
这个办法有个优点是网络蜘蛛在设计的时候比较简单。
两种策略的区分,下图的解释会越发明确。
百度蜘蛛爬行原理百度蜘蛛,是百度搜索引擎的一个自动程序。
它的作用是访问收集整理互联网上的网页、图片、视频等内容,然后分门别类建立索引数据库,使用户能在百度搜索引擎中搜索到您网站的网页、图片、视频等内容蜘蛛抓取第一步爬行和抓取爬行到你的网站网页,寻找合适的资源。
蜘蛛它有一个特性,那就是他的运动轨迹通常都是围绕着蜘蛛丝而走的,而我们之所以将搜索引擎的机器人命名为蜘蛛其实就是因为这个特性。
当蜘蛛来到你的网站之后,它就会顺着你网站中的链接(蜘蛛丝)不断的进行爬行,因此如何让蜘蛛能够更好的在你的网站中进行爬行就成为了我们的重中之重。
抓取你的网页。
引导蜘蛛的爬行这只是一个开始,一个好的开始意味着你将有一个高起点。
通过自己的内链设计,使得网站中不存在任何死角,蜘蛛可以轻松的到达网站中的每一个页面,这样蜘蛛在进行第二步工作——抓取的时候,将会事半功倍。
而在这一步抓取的过程中我们又需要注意的就是要精简网站的结构,将那些不必要、不需要的多余代码去掉,因为这些都将会影响蜘蛛抓取网页的效率与效果。
另外还需要大家注意的事情就是通过我们都不建议网站中放入FLASH,因为蜘蛛对于FLASH是不好抓取的,过多的FLASH会导致蜘蛛放弃抓取你网站的页面。
蜘蛛抓取第二步存储抓取了链接所对应的页面,会把这些页面的内容存储到搜索引擎的原始数据库里面。
会抓取一些文本内容。
网站在优化的时候不要盲目的给网站添加一些图片或者动画flash文件。
这样不利搜索引擎的抓取。
这类对排没有太大价值,应该多做内容。
抓取到搜索引擎原始数据中,不代表你的网站内容就一定会被百度采纳。
搜索引擎还需要再进行下一步处理。
蜘蛛抓取第三步预处理搜索引擎主要还是以(文字)为基础。
JS,CSS程序代码是无法用于排名。
蜘蛛将第一步中提取的文字进行拆分重组,组成新的单词。
去重处理(去掉一些重复的内容,搜索引擎数据库里面已经存在的内容)要求我们在做SEO优化的人员在优化网站内容的不能完全抄袭别人的站点内容。
搜索引擎的工作原理是什么
搜索引擎的工作原理是通过爬虫程序(也叫网络蜘蛛或网络爬虫)对互联网上的网页进行自动收集和索引,并根据用户的搜索关键词呈现最相关的搜索结果。
首先,搜索引擎的爬虫程序会从一个初始网页(通常称为种子URL)开始,然后根据该网页上的链接递归地爬取其他网页。
爬虫会记录每个被访问的网页,并从中提取出网页内容、标题、关键词、链接等信息。
接下来,将这些信息存储在搜索引擎的索引数据库中。
索引数据库是一个结构化的数据库,其中包含了许多网页的关键词和链接信息。
搜索引擎使用复杂的算法将这些网页按照相关性进行排序,以便在用户进行搜索时能够快速呈现最相关的搜索结果。
当用户输入搜索关键词后,搜索引擎会根据关键词在索引数据库中进行匹配,并找出最相关的网页。
相关性的评估通常是基于关键词的频率、位置、网页的权重(例如,网页被其他高权威网页引用的次数)等因素进行计算。
最后,搜索引擎会将根据相关性排序的搜索结果呈现给用户。
搜索结果页面通常会显示页面的标题、简要摘要和链接,用户可以点击链接查看完整的网页内容。
总之,搜索引擎的工作原理是通过爬虫程序收集和索引网页信
息,利用复杂的算法计算搜索结果的相关性,并将最相关的搜索结果呈现给用户。
蜘蛛强引的原理蜘蛛强引的原理一、什么是蜘蛛强引?蜘蛛强引(Spider Trapping)是指一种通过对搜索引擎爬虫的行为进行干扰,从而达到改善网站排名的一种黑帽SEO技术。
二、为什么要使用蜘蛛强引?在SEO优化中,网站的排名是非常重要的。
而搜索引擎爬虫(也称为“蜘蛛”)会根据一些算法来评估网站的质量和价值,从而决定其排名。
因此,如果能够通过干扰爬虫行为来提高网站质量和价值的评估结果,就可以改善网站排名。
三、如何实现蜘蛛强引?1. 重定向重定向是指将一个URL地址重定向到另一个URL地址。
在实现重定向时,可以将搜索引擎爬虫重定向到一个与用户所看到内容不同的页面上,从而干扰其对页面内容进行评估。
2. 隐藏链接隐藏链接是指将链接放置在页面代码中但不显示出来。
这样做可以让搜索引擎爬虫认为该页面包含更多有用信息,并提高其对页面内容进行评估的分数。
3. 动态页面动态页面是指通过动态生成HTML代码来呈现页面内容。
在实现动态页面时,可以将搜索引擎爬虫重定向到一个静态页面上,从而干扰其对页面内容进行评估。
4. 伪造内容伪造内容是指将一些与原始内容无关的信息添加到页面中,例如关键词堆砌、隐藏文本等。
这样做可以让搜索引擎爬虫认为该页面包含更多有用信息,并提高其对页面内容进行评估的分数。
四、蜘蛛强引的原理蜘蛛强引的原理是通过干扰搜索引擎爬虫对网站的评估来改善网站排名。
具体实现方式包括重定向、隐藏链接、动态页面和伪造内容等。
这些技术可以让搜索引擎爬虫认为该网站包含更多有用信息,并提高其对网站质量和价值进行评估的分数,从而改善网站排名。
五、蜘蛛强引的风险尽管蜘蛛强引可以改善网站排名,但它也存在一定的风险。
首先,使用这种技术可能会违反搜索引擎的规则,从而导致被惩罚或封禁。
其次,蜘蛛强引可能会降低网站的用户体验和可用性,从而影响网站的流量和转化率。
六、如何避免蜘蛛强引的风险?为了避免蜘蛛强引的风险,建议网站管理员应该尽量遵守搜索引擎的规则,并采用正规的SEO优化技术来改善网站排名。
搜索引擎蜘蛛爬虫原理:
1、聚焦爬虫工作原理及关键技术概述
网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。
传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。
然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:
(1) 对抓取目标的描述或定义;
(2) 对网页或数据的分析与过滤;
(3) 对URL的搜索策略。
抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。
而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。
这两个部分的算法又是紧密相关的。
2、抓取目标描述
现有聚焦爬虫对抓取目标的描述可分为基于目标网页特征、基于目标数据模式和基于领域概念3种。
基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。
根据种子样本获取方式可分为:
(1)预先给定的初始抓取种子样本;
(2)预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等; (3)通过用户行为确定的抓取目标样例,分为:
a) 用户浏览过程中显示标注的抓取样本;
b) 通过用户日志挖掘得到访问模式及相关样本。
其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
现有的聚焦爬虫对抓取目标的描述或定义可以分为基于目标网页特征,基于目标数据模式和基于领域概念三种。
基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。
具体的方法根据种子样本的获取方式可以分为:
(1)预先给定的初始抓取种子样本;
(2)预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;
(3)通过用户行为确定的抓取目标样例。
其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
基于目标数据模式的爬虫针对的是网页上的数据,所抓取的数据一般要符合一定的模式,或者可以转化或映射为目标数据模式。
另一种描述方式是建立目标领域的本体或词典,用于从语义角度分析不同特征在某一主题中的重要程度。
3、网页搜索策略
网页的抓取策略可以分为深度优先、广度优先和最佳优先三种。
深度优先在很多情况下会导致爬虫的陷入(trapped)问题,目前常见的是广度优先和最佳优先方法。
3.1 广度优先搜索策略
广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。
该算法的设计和实现相对简单。
在目前为覆盖尽可能多的网页,一般使用广度优先搜索方法。
也有很多研究将广度优先搜索策略应用于聚焦爬虫中。
其基本思想是认为与初始URL在一定链接距离内的网页具有主题相关性的概率很大。
另外一种方法是将广度优先搜索与网页过滤技术结合使用,先用广度优先策略抓取网页,再将其中无关的网页过滤掉。
这些方法的缺点在于,随着抓取网页的增多,大量的无关网页将被下载并过滤,算法的效率将变低。
3.2 最佳优先搜索策略
最佳优先搜索策略按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取。
它只访问经过网页分析算法预测为“有用”的网页。
存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种局部最优搜索算法。
因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点。
将在第4节中结合网页分析算法作具体的讨论。
研究表明,这样的闭环调整可以将无关网页数量降低30%~90%。
4、网页分析算法
网页分析算法可以归纳为基于网络拓扑、基于网页内容和基于用户访问行为三种类型。
4.1 基于网络拓扑的分析算法
基于网页之间的链接,通过已知的网页或数据,来对与其有直接或间接链接关系的对象(可以是网页或网站等)作出评价的算法。
又分为网页粒度、网站粒度和网页块粒度这三种。
4.1.1 网页(Webpage)粒度的分析算法
PageRank 和HITS算法是最常见的链接分析算法,两者都是通过对网页间链接度的递归和规范化计算,得到每个网页的重要度评价。
PageRank算法虽然考虑了用户访问行为的随机性和Sink 网页的存在,但忽略了绝大多数用户访问时带有目的性,即网页和链接与查询主题的相关性。
针对这个问题,HITS算法提出了两个关键的概念:权威型网页(authority)和中心型网页(hub)。
基于链接的抓取的问题是相关页面主题团之间的隧道现象,即很多在抓取路径上偏离主题的网页也指向目标网页,局部评价策略中断了在当前路径上的抓取行为。
文献[21]提出了一种基于反向链接(BackLink)的分层式上下文模型(Context Model),用于描述指向目标网页一定物理跳数半径内的网页拓扑图的中心Layer0为目标网页,将网页依据指向目标网页的物理跳数进行层次划分,从外层网页指向内层网页的链接称为反向链接。
4.1.2 网站粒度的分析算法
网站粒度的资源发现和管理策略也比网页粒度的更简单有效。
网站粒度的爬虫抓取的关键之处在
于站点的划分和站点等级(SiteRank)的计算。
SiteRank的计算方法与PageRank类似,但是需要对网站之间的链接作一定程度抽象,并在一定的模型下计算链接的权重。
网站划分情况分为按域名划分和按IP地址划分两种。
文献[18]讨论了在分布式情况下,通过对同一个域名下不同主机、服务器的IP地址进行站点划分,构造站点图,利用类似PageRank的方法评价SiteRank。
同时,根据不同文件在各个站点上的分布情况,构造文档图,结合SiteRank 分布式计算得到DocRank。
文献[18]证明,利用分布式的SiteRank计算,不仅大大降低了单机站点的算法代价,而且克服了单独站点对整个网络覆盖率有限的缺点。
附带的一个优点是,常见PageRank 造假难以对SiteRank进行欺骗。
4.1.3 网页块粒度的分析算法
在一个页面中,往往含有多个指向其他页面的链接,这些链接中只有一部分是指向主题相关网页的,或根据网页的链接锚文本表明其具有较高重要性。
但是,在PageRank和HITS算法中,没有对这些链接作区分,因此常常给网页分析带来广告等噪声链接的干扰。
在网页块级别(Block level)进行链接分析的算法的基本思想是通过VIPS网页分割算法将网页分为不同的网页块(page block),然后对这些网页块建立page to block和block to page的链接矩阵, 分别记为Z和X。
于是,在page to page图上的网页块级别的PageRank为 W p=X×Z; 在block to block图上的BlockRank为 W b =Z×X。
已经有人实现了块级别的PageRank和HITS算法,并通过实验证明,效率和准确率都比传统的对应算法要好。
4.2 基于网页内容的网页分析算法
基于网页内容的分析算法指的是利用网页内容(文本、数据等资源)特征进行的网页评价。
网页的内容从原来的以超文本为主,发展到后来动态页面(或称为Hidden Web)数据为主,后者的数据量约为直接可见页面数据(PIW,Publicly Indexable Web)的400~500倍。
另一方面,多媒体数据、Web Service等各种网络资源形式也日益丰富。
因此,基于网页内容的分析算法也从原来的较为单纯的文本检索方法,发展为涵盖网页数据抽取、机器学习、数据挖掘、语义理解等多种方法的综合应用。
本节根据网页数据形式的不同,将基于网页内容的分析算法,归纳以下三类:第一种针对以文本和超链接为主的无结构或结构很简单的网页;第二种针对从结构化的数据源(如RDBMS)动态生成的页面,其数据不能直接批量访问;第三种针对的数据界于第一和第二类数据之间,具有较好的结构,显示遵循一定模式或风格,且可以直接访问。