搜索引擎的渐增式爬行和备份式更新模式
搜索引擎优化入门指南

搜索引擎优化入门指南第1章搜索引擎优化基础概念 (4)1.1 理解搜索引擎工作原理 (4)1.2 搜索引擎优化的重要性 (4)1.3 SEO与SEM的区分 (4)第2章关键词研究 (5)2.1 关键词选择策略 (5)2.1.1 了解目标受众 (5)2.1.2 确定关键词类型 (5)2.1.3 分析竞争对手 (5)2.1.4 关键词扩展 (5)2.2 关键词挖掘工具介绍 (5)2.2.1 百度关键词规划师 (5)2.2.2 神马关键词工具 (6)2.2.3 Ahrefs (6)2.2.4 SEMrush (6)2.3 确定目标关键词 (6)2.3.1 筛选关键词 (6)2.3.2 整合关键词 (6)2.3.3 优化关键词 (6)2.3.4 关键词布局 (6)第3章网站结构优化 (6)3.1 网站结构布局 (6)3.1.1 模块化布局 (6)3.1.2 网站扁平化 (7)3.1.3 导航清晰 (7)3.1.4 避免重复内容 (7)3.2 URL优化策略 (7)3.2.1 简洁明了 (7)3.2.2 含关键词 (7)3.2.3 避免特殊字符 (7)3.2.4 使用连字符 (7)3.3 导航与内链优化 (7)3.3.1 合理布局内链 (7)3.3.2 使用关键词锚文本 (8)3.3.3 避免死链和断链 (8)3.3.4 优化面包屑导航 (8)3.3.5 适当使用nofollow标签 (8)第4章网站内容优化 (8)4.1 高质量内容创作 (8)4.1.1 了解目标受众 (8)4.1.2 内容原创性 (8)4.1.4 关键词布局 (8)4.1.5 适当长度 (9)4.2 内容优化策略 (9)4.2.1 定期更新内容 (9)4.2.2 内容多样化 (9)4.2.3 优化元标签 (9)4.2.4 内部优化 (9)4.2.5 移动端优化 (9)4.3 图片与视频优化 (9)4.3.1 图片优化 (9)4.3.2 视频优化 (9)第5章网页标签优化 (10)5.1 标题标签优化 (10)5.1.1 保证唯一性 (10)5.1.2 简洁明了 (10)5.1.3 关键词布局 (10)5.1.4 吸引 (10)5.1.5 避免堆砌关键词 (10)5.2 描述标签优化 (10)5.2.1 简洁且具有吸引力 (10)5.2.2 合理布局关键词 (10)5.2.3 避免重复 (11)5.2.4 突出优势 (11)5.3 标签合理使用 (11)5.3.1 H标签使用 (11)5.3.2 图片alt标签 (11)5.3.3nofollow标签 (11)5.3.4 header和footer标签 (11)第6章移动端优化 (11)6.1 移动优先策略 (11)6.1.1 用户行为分析 (12)6.1.2 网站结构优化 (12)6.1.3 内容优化 (12)6.1.4 适配移动端设备 (12)6.2 响应式网站设计 (12)6.2.1 媒体查询 (12)6.2.2 网格布局 (12)6.2.3 弹性图片 (12)6.2.4 交互元素优化 (12)6.3 移动端SEO注意事项 (12)6.3.1 页面加载速度 (12)6.3.2 优化标题和描述 (12)6.3.3 保证触控友好 (12)6.3.5 适配不同操作系统 (13)6.3.6 利用地理位置信息 (13)6.3.7 保证网站安全 (13)第7章技术优化 (13)7.1 网站速度优化 (13)7.1.1 优化图片 (13)7.1.2 优化代码 (13)7.1.3 利用缓存技术 (13)7.1.4 优化服务器 (13)7.2 网站安全优化 (14)7.2.1 使用 (14)7.2.2 防止SQL注入 (14)7.2.3 防止XSS攻击 (14)7.2.4 定期更新和备份 (14)7.3 网站爬虫友好度优化 (14)7.3.1 优化网站结构 (14)7.3.2 保证移动端友好 (14)7.3.3 使用合适的robots.txt (14)7.3.4 优化网站sitemap (15)第8章外部建设 (15)8.1 外链的重要性 (15)8.2 高质量外链获取方法 (15)8.2.1 内容为王 (15)8.2.2 合作伙伴关系 (15)8.2.3 社交媒体推广 (15)8.2.4 媒体报道和新闻稿 (15)8.2.5 专业论坛和社区 (15)8.2.6 资源型 (15)8.3 避免外链作弊 (15)8.3.1 严禁购买 (16)8.3.2 避免农场 (16)8.3.3 严禁使用自动化工具 (16)8.3.4 谨慎参与友情 (16)8.3.5 避免大规模删除和添加 (16)第9章社交媒体优化 (16)9.1 社交媒体影响力 (16)9.2 社交媒体优化策略 (16)9.3 社交分享与SEO (17)第10章 SEO监控与评估 (17)10.1 监控关键词排名 (17)10.2 网站流量分析 (17)10.3 SEO效果评估与优化方向 (18)第1章搜索引擎优化基础概念1.1 理解搜索引擎工作原理搜索引擎的基本工作原理是通过特定的算法,从互联网上抓取、索引并排序网页,以便用户输入关键词时,能够快速、准确地找到与之相关的内容。
搜索引擎工作的基本原理

搜索引擎工作的基本原理
大家好,今天我想和大家谈一谈关于搜索引擎的工作原理,搜索引擎对于绝大多数的seo高手来说应该是弄得相当透彻了,这也是学习seo的第一步了,了解seo 是干啥的,seo中文意思是搜索引擎优化,也就是seo的操作和应用全部基于搜索引擎而操作的,离开搜索引擎seo这个名词就根本不存在。
那么seo的学习,首先要先学习搜索引擎,在这里我先讲一讲搜索引擎的工作原理。
搜索引擎工作的流程一般分为三步,第一步是抓取网页内容,重点是关键词的收录,搜索引擎先派出蜘蛛,搜扑爬便网络,遍历网络上的所有网站,收集信息,第二步是建立索引数据库,蜘蛛将抓取的结果来收录入库。
并建立索引信息,就是你的网站域名,他们以快照的形式进行收录,而且每个快照都与你的网页地址URL想链接,当用户搜索到相关内容时,点击搜索结果就链接到文章的网页。
第三步就是搜索信息的排序,将蜘蛛搜索回来的信息建立索引后,搜索引擎要对搜索结果进行排序,这就是为什么有的文章排在首页,有的文章排在最后的原因,如果你的网站从收录时起,不断更新和建设,浏览和评论,关注的人比较多,搜索引擎就会为你的网站增加权重,进而提升你的排名,如果你的网站不进行定期更新,那么你的排名就会下降,权重值也会降低,所以受seo的工作量还是比较大,最重要一点要实时更
新和维护,来不得半点偷懒。
成功是为有准备,肯吃苦的人准备的,而网上创业的历程也是相当艰辛,但是如果有一天你成功了,你会发现自己懂得了很多学会了很多,性格也坚韧了很多,那么成熟一词就会是形容你的最佳词汇!我们不忘一句话来激励自己:好好学习,天天向上。
搜索引擎工作原理三个阶段简介

SEO实战密码:搜索引擎工作原理三个阶段简介搜索引擎工作过程非常复杂,接下来的几节我们简单介绍搜索引擎是怎样实现网页排名的。
这里介绍的内容相对于真正的搜索引擎技术来说只是皮毛,不过对SEO人员已经足够用了。
搜索引擎的工作过程大体上可以分成三个阶段。
(1)爬行和抓取:搜索引擎蜘蛛通过跟踪链接访问网页,获得页面HTML代码存入数据库。
(2)预处理:索引程序对抓取来的页面数据进行文字提取、中文分词、索引等处理,以备排名程序调用。
(3)排名:用户输入关键词后,排名程序调用索引库数据,计算相关性,然后按一定格式生成搜索结果页面。
爬行和抓取爬行和抓取是搜索引擎工作的第一步,完成数据收集的任务。
1.蜘蛛搜索引擎用来爬行和访问页面的程序被称为蜘蛛(spider),也称为机器人(bot)。
搜索引擎蜘蛛访问网站页面时类似于普通用户使用的浏览器。
蜘蛛程序发出页面访问请求后,服务器返回HTML代码,蜘蛛程序把收到的代码存入原始页面数据库。
搜索引擎为了提高爬行和抓取速度,都使用多个蜘蛛并发分布爬行。
蜘蛛访问任何一个网站时,都会先访问网站根目录下的robots.txt文件。
如果robots.txt文件禁止搜索引擎抓取某些文件或目录,蜘蛛将遵守协议,不抓取被禁止的网址。
和浏览器一样,搜索引擎蜘蛛也有标明自己身份的代理名称,站长可以在日志文件中看到搜索引擎的特定代理名称,从而辨识搜索引擎蜘蛛。
下面列出常见的搜索引擎蜘蛛名称:· Baiduspider+(+/search/spider.htm)百度蜘蛛· Mozilla/5.0 (compatible; Yahoo! Slurp China;/help.html)雅虎中国蜘蛛· Mozilla/5.0 (compatible; Yahoo! Slurp/3.0;/help/us/ysearch/slurp)英文雅虎蜘蛛· Mozilla/5.0 (compatible; Googlebot/2.1; +/bot.html)Google蜘蛛· msnbot/1.1 (+/msnbot.htm)微软 Bing蜘蛛· Sogou+web+robot+(+/docs/help/webmasters.htm#07)搜狗蜘蛛· Sosospider+(+/webspider.htm)搜搜蜘蛛· Mozilla/5.0 (compatible; YodaoBot/1.0;/help/webmaster/spider/; )有道蜘蛛2.跟踪链接为了抓取网上尽量多的页面,搜索引擎蜘蛛会跟踪页面上的链接,从一个页面爬到下一个页面,就好像蜘蛛在蜘蛛网上爬行那样,这也就是搜索引擎蜘蛛这个名称的由来。
搜索引擎分类与工作原理

搜索引擎分类与工作原理搜索引擎是一种用于从互联网上收集信息并按相关性进行排序的软件工具。
根据不同的分类标准,搜索引擎可以分为多种类型,例如传统搜索引擎、垂直搜索引擎和元搜索引擎。
传统搜索引擎是指最常见的搜索引擎,如Google、Bing和Yahoo等。
它们的工作原理可以总结为三个主要步骤:1. 爬取和索引网页:搜索引擎会使用称为“爬虫”或“蜘蛛”的程序在互联网上爬取网页。
爬虫会按照设定的规则和算法逐个访问网页,并将其内容保存在搜索引擎的数据库中,以便后续的搜索和排序。
2. 建立倒排索引:搜索引擎会对爬取的网页内容进行处理,将关键词和对应的网页链接建立倒排索引。
倒排索引是一种数据结构,它将每个关键词和包含该关键词的网页链接关联起来,以便在用户进行搜索时能快速地找到相关网页。
3. 排名和排序:在用户输入搜索关键词后,搜索引擎会根据事先设定的算法对倒排索引中的网页进行排序,并将最相关的网页排在前面展示给用户。
搜索引擎的排序算法考虑了很多因素,包括关键词出现频率、网页质量、外部链接等。
垂直搜索引擎是专门针对某个特定领域或主题进行搜索和排序的搜索引擎。
它们的工作原理与传统搜索引擎类似,但爬取和索引的网页通常是特定领域相关的网页,使得搜索结果更加精确和专业。
元搜索引擎是一种同时使用多个不同搜索引擎的搜索工具。
它的工作原理是将用户的搜索请求发送给多个搜索引擎,并将它们的搜索结果进行整合和排序后展示给用户。
这种方式可以提供更全面和多样化的搜索结果,但也会增加搜索的时间和计算开销。
综上所述,搜索引擎根据分类标准的不同可以分为传统搜索引擎、垂直搜索引擎和元搜索引擎。
它们的工作原理都是通过爬取、索引和排序网页来提供相关的搜索结果。
每种搜索引擎都有其特点和应用场景,用户可以根据自己的需求选择适合的搜索引擎来获取所需的信息。
搜索引擎优化(SEO)解决方案

搜索引擎优化(SEO)解决方案一、搜索引擎是什么?搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。
搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。
二、搜索引擎如何工作?第一步:爬行搜索引擎是通过一种特定规律的软件跟踪网页的链接,从一个链接爬到另外一个链接,像蜘蛛在蜘蛛网上爬行一样,所以被称为“蜘蛛”也被称为“机器人”。
搜索引擎蜘蛛的爬行是被输入了一定的规则的,它需要遵从一些命令或文件的内容。
第二步:抓取存储搜索引擎是通过蜘蛛跟踪链接爬行到网页,并将爬行的数据存入原始页面数据库。
其中的页面数据与用户浏览器得到的HTML是完全一样的。
搜索引擎蜘蛛在抓取页面时,也做一定的重复内容检测,一旦遇到权重很低的网站上有大量抄袭、采集或者复制的内容,很可能就不再爬行。
第三步:预处理搜索引擎将蜘蛛抓取回来的页面,进行各种步骤的预处理。
⒈提取文字⒉中文分词⒊去停止词(如:的,啊等)⒋消除噪音(搜索引擎需要识别并消除噪声,如版权、导航条、广告等)5.正向索引6.倒排索引7.链接关系计算8.特殊文件处理除了HTML 文件外,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如PDF、Word、WPS、XLS、PPT、TXT文件等。
但搜索引擎还不能处理图片、视频、Flash这类非文字内容,也不能执行脚本和程序。
第四步:排名用户在搜索框输入关键词后,排名程序调用索引库数据,计算排名显示给用户,排名过程与用户直接互动的。
但是,由于搜索引擎的数据量庞大,虽然能达到每日都有小的更新,但是一般情况搜索引擎的排名规则都是根据日、周、月阶段性不同幅度的更新。
三、搜索引擎优化(SEO)是什么?SEO是英文Search Engine Optimization的缩写,中文意译为“搜索引擎优化”。
简述搜索引擎结构及分类

简述搜索引擎结构及分类摘要:网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。
建立搜索引擎就是解决这个问题的最好方法。
这篇论文就是简单介绍一下基于英特网的搜索引擎的系统结构以及我们常见的搜索引擎分类引言面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。
因此它也成为除了电子邮件以外最多人使用的网上服务。
搜索引擎技术伴随着WWW的发展是引人注目的。
搜索引擎大约经历了三代的更新发展:第一代搜索引擎出现于1994年。
这类搜索引擎一般都索引少于1,000,000个网页,极少重新搜集网页并去刷新索引。
而且其检索速度非常慢,一般都要等待10秒甚至更长的时间。
在实现技术上也基本沿用较为成熟的IR(Information Retrieval)、网络、数据库等技术,相当于利用一些已有技术实现的一个WWW上的应用。
在1994年3月到4月,网络爬虫World Web Worm (WWWW)平均每天承受大约1500次查询。
大约在1996年出现的第二代搜索引擎系统大多采用分布式方案(多个微型计算机协同工作)来提高数据规模、响应速度和用户数量,它们一般都保持一个大约50,000,000网页的索引数据库,每天能够响应10,000,000次用户检索请求。
1997年11月,当时最先进的几个搜索引擎号称能建立从2,000,000到100,000,000的网页索引。
Altavista搜索引擎声称他们每天大概要承受20,000,000次查询。
2000年搜索引擎2000年大会上,按照Google公司总裁Larry Page的演讲,Google正在用3,000台运行Linux系统的个人电脑在搜集Web上的网页,而且以每天30台的速度向这个微机集群里添加电脑,以保持与网络的发展相同步。
每台微机运行多个爬虫程序搜集网页的峰值速度是每秒100个网页,平均速度是每秒48.5个网页,一天可以搜集超过4,000,000网页搜索引擎一词在国内外因特网领域被广泛使用,然而他的含义却不尽相同。
简述搜索引擎结构及分类

简述搜索引擎结构及分类摘要:网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。
建立搜索引擎就是解决这个问题的最好方法。
这篇论文就是简单介绍一下基于英特网的搜索引擎的系统结构以及我们常见的搜索引擎分类引言面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。
因此它也成为除了电子邮件以外最多人使用的网上服务。
搜索引擎技术伴随着的发展是引人注目的。
搜索引擎大约经历了三代的更新发展:第一代搜索引擎出现于年。
这类搜索引擎一般都索引少于,,个网页,极少重新搜集网页并去刷新索引。
而且其检索速度非常慢,一般都要等待秒甚至更长的时间。
在实现技术上也基本沿用较为成熟的()、网络、数据库等技术,相当于利用一些已有技术实现的一个上的应用。
在年月到月,网络爬虫()平均每天承受大约次查询。
大约在年出现的第二代搜索引擎系统大多采用分布式方案(多个微型计算机协同工作)来提高数据规模、响应速度和用户数量,它们一般都保持一个大约,,网页的索引数据库,每天能够响应,,次用户检索请求。
年月,当时最先进的几个搜索引擎号称能建立从,,到,,的网页索引。
搜索引擎声称他们每天大概要承受,,次查询。
年搜索引擎年大会上,按照公司总裁的演讲,正在用台运行系统的个人电脑在搜集上的网页,而且以每天台的速度向这个微机集群里添加电脑,以保持与网络的发展相同步。
每台微机运行多个爬虫程序搜集网页的峰值速度是每秒个网页,平均速度是每秒个网页,一天可以搜集超过,,网页搜索引擎一词在国内外因特网领域被广泛使用,然而他的含义却不尽相同。
在美国搜索引擎通常指的是基于因特网的搜索引擎,他们通过网络机器人程序收集上千万到几亿个网页,并且每一个词都被搜索引擎索引,他们通过网络机器人程序收集上千万到几亿个网页,并且每一个词都被搜索引擎索引,也就是我们说的全文检索。
著名的因特网搜索引擎包括、、等。
搜索引擎的原理和优化技巧

搜索引擎的原理和优化技巧搜索引擎在我们日常生活中扮演着重要的角色,我们经常使用它来查找所需的信息。
但是,搜索引擎的原理和优化技巧,对于大多数人来说仍然比较陌生。
下面,我们将深入探讨搜索引擎的原理和优化技巧,帮助大家更好地理解和利用搜索引擎。
一、搜索引擎的原理搜索引擎的原理可以分为三个基本步骤:爬行、索引和排序。
1. 爬行搜索引擎首先会在互联网上爬行,通过网络爬虫软件抓取网页上的内容。
爬虫不断地跳转到新的页面和链接,重复这个过程,直到找到所有相关的网页为止。
这个过程可谓“宁静以致远”,如何渐进地遍历整个互联网是搜索引擎必须面对的难题之一。
2. 索引在爬行过程中,搜索引擎将从每个网页中提取出关键词和链接,并将它们存储在索引数据库中。
索引数据库是一种特殊的数据库,它使搜索引擎能够快速找到特定的网页。
当你在搜索引擎中输入关键词时,搜索引擎将会从索引数据库中匹配与之相关的网页。
3. 排序排序是搜索引擎中最为重要的一步。
当搜索引擎找到所有相关的网页后,它会对这些网页进行排序,以便将最佳的结果呈现给用户。
搜索引擎根据若干个因素来决定一个网页的排名,包括该网页的相关性、权重、质量和用户反馈等。
二、搜索引擎的优化技巧搜索引擎优化(SEO)是一个非常重要的话题,因为它可以帮助你的网站更好地排名,从而获得更多的访问量和销售量。
下面,我们将讨论一些搜索引擎优化的技巧,以帮助你更好地理解和利用搜索引擎。
1. 关键词研究关键词研究是SEO的基础。
在执行任何其他SEO策略之前,你需要研究和分析关键词来确定哪些关键词是最重要的。
你可以使用免费或付费的工具来进行关键词研究,例如Google AdWords,SEMrush和Ahrefs等。
2. 内容优化在你的网站上添加高质量的内容可以提高你的排名。
搜索引擎喜欢新鲜、原创、有价值的内容。
因此,你需要写一些精心制作的,关于你的产品和服务的文章和博客,并确保它们包含你的关键词。
3. 链接建设链接建设是指增加其他网站链接到你的网站上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
搜索引擎的渐增式爬行和备份式更新模式沈文勤,邵志清(华东理工大学计算机科学与工程系,上海 200237)摘要: 本文介绍了搜索引擎的总体结构,分析了搜索引擎中爬行器的爬行策略和网页库的更新模式,介绍了其中一种较为合理的爬行和更新模式及其实现技术,实现了渐增式地爬行高质量的网页,提高网页库新鲜度的目的。
关键词: 搜索引擎;爬行器;网页库;更新策略中图分类号: TP391 文献标识码: AIncremental Crawling and Shadowing Update Strategyin Search EngineShen Wenqin ,Shao Zhiqing(Department of Computer Science and Engineering ECUST, Shanghai 200237,China)Abstract: This paper analyses the general architecture of search engine, especially the design and implementation technology of the crawling and update strategy, the crawler can download “high quality” web pages incrementally and maintain the web repository “fresh”.Key words: search engine; crawler; Web repository; update strategy随着因特网的迅猛发展和Web 信息的增加,信息检索服务应运而生,于是搜索引擎成为了人们关注的对象。
按照信息搜集方法和服务提供方式的不同,搜索引擎系统可以分为不同种类,而现在大都采用的是机器人搜索引擎(crawler-based search engines )。
大型的搜索引擎收集了互联网上几千万到几十亿个网页,最终存入自己建立的网页库中,并对网页中的每一个文字(即关键词)进行索引,建立索引数据库。
当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。
在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。
然而,现在的搜索引擎普遍存在网页库更新不及时,查询结果质量不高等问题。
这是由许多客观原因造成的,如网页数量的指数上升,网页的时常变化更新,而搜索引擎无法及时跟踪网页自身的变化更新情况,搜索引擎自身又受存储容量,服务器能力等资源的限制。
所以,如何在这些客观制约下,使得搜索引擎爬行高质量的网页,提高网页库的新鲜度,以此来提高搜索引擎查询结果的质量,让用户得到更新更有用的信息,已成为搜索引擎急切关注的问题。
这就必须要研究搜索引擎的爬行和更新模式。
我们已经实现了一个名为Flyingsender 的机器人搜索引擎原型,本文就是在这个搜索引擎原型的平台上,介绍了所采用的爬行方式和网页库的更新模式。
基金项目:上海市青年科技启明星计划资助项目(编号:99QD14038)收稿日期:2003-04-14作者简介:沈文勤(1979~),女,浙江人, 硕士生,主要研究领域为网络信息服务技术_______________________________________________________________________________1总体要求搜索引擎的爬行和更新模式希望达到下面两个要求:1)使网页库保持一定的新鲜度,更新策略的不同会使网页库的新鲜度有很大的差别。
因此,需要选择好的更新策略,即要选择爬行哪些网页,以及如何调整对各网页的爬行频率。
2)使网页库中的网页具有较高的质量,即网页有很高的重要性,爬行那些重要性较高的网页来替换网页库中重要性较低的网页。
1.1 网页库新鲜度网页库新鲜度这个概念有多种说法,Cho 作了很详细的定义[1],但大致意思都相同,就是指网页库中的网页的内容与现在实际的源网页的内容一致,如果这样的网页越多,网页库的新鲜度就越高。
所以如果在更新网页库时知道源网页的变化情况,知道哪些网页已经改变了,哪些网页没有改变,那么就可以只更新那些改变了的网页,而对那些没有改变的网页不需要重新爬行。
这样的渐增式爬行方式就能提高网页库的新鲜度。
但是,源网页的更新是独立于用户和爬行器的,爬行器不知道源网页何时改变,变化的频率又是多少。
对于这个问题,现在研究最多,也是比较可行的是研究网页的动态模型,基于网页变化频率来调整对网页的更新频率的方法(frequency-based approach )[1],这是指根据网页的历史,估计网页的变化频率,对网页的动态性建立一个数学模型,根据这个模型调整更新策略。
这里有许多前人的工作可以借鉴。
Cho 和Hector Garcia-Molina 用4个月时间对270个网站的网页进行统计,试验指出网页的变化可以用泊松过程来模拟,每一个网页Pi 是以变化率为λi 的泊松过程变化的。
他们的实验还得出泊松过程的一个统计估算参数,具体参考[1~3]。
本文通过获取网页的HTTP 头文件,从中得到网页的元信息,获知网页的变化情况,具体实现方法下面将介绍。
1.2 网页重要性网页库中的网页要尽量具有比较高的重要性,网页的重要性有多种计算方法,其中PageRank算法[5]是最主要也是最好的衡量网页重要性的方法[6]。
它是这么定义的:假设页面A 有页面T1,…,Tn 指向它,参数d 是一个设定在0和1之间的振荡因子。
一般把d 设定为0.85。
C (A )被定义为从页面A 链接出来的链接个数,则页面A 的PageRank 值就是:PR (A ) = (1-d ) + d (PR (T1)/C (T1) + … + PR (Tn )/C (Tn ))直觉上可以这样认为:如果一个页面有很多页面都链接到它,或者是有一些PageRank 值很高的页面链接到它,它将会有较高的PageRank 值。
所以本文所介绍的搜索引擎的排序模块采用的就是PageRank 算法,对每个网页计算出Pagerank值,为更新策略提供资料。
2 爬行和更新模式搜索引擎中的爬行器(crawler )是指自动从网上下载网页,并把网页存储在本地网页库的一个程序。
为了使网页库中的网页保持一定的新鲜度(freshness ),隔一段时间后爬行器必须重新访问这些网页,更新网页库。
所以,爬行器就有下载网页和更新网页的两大功能。
搜索引擎中的爬行器的爬行模式一般分为两种:批量式爬行器和渐增式爬行器。
批量式爬行器是指每隔一段时间从头开始重新搜索一遍整个英特网,对先前保存在网页库中的所有网页进行一遍更新。
这种方式对程序的效率和硬件设备要求很高,而且对某些网页更新不及时,不能有目的地爬行某些重要网页。
中国科技论文在线_______________________________________________________________________________而每次有目的地爬行更新部分网页,而不是对所有网页库中网页重新爬行一遍的更新方式称为渐增式更新,相应的爬行器称为渐增式爬行器。
这种方式能提高搜索引擎的效率,提高网页库的新鲜度,并且能减轻网络和服务器的负担。
网页库的更新模式一般也分为两种:备份式更新和即时更新。
备份式更新是指页面存储器将爬行器传送过来的网页在存入网页库之前先存入更新节点,每隔固定时间,或一轮爬行结束后,将更新节点与当前使用的网页库合并,然后索引器将整个库进行索引,形成新的索引库。
这种方法容易实现,而且可以减少更新与读取的冲突。
即时更新指页面存储器收到爬行器传送的网页,直接存入当前使用的网页库中,并马上提交给索引器进行索引,索引结果直接提交给索引库,即时更新。
这种模式更新速度快,但实现起来难度增大,而且不适合大型搜索引擎,效率也低于备份式更新[4]。
渐增式爬行器和备份式更新的模式对硬件要求较低,而且可以提高更新频率,提高网页库的新鲜度,也适合于大规模的搜索引擎。
3 基本架构和具体实现本文在原来搜索引擎原型的基础上,采用了渐增式爬行器和备份式更新的模式后,设计的基本架构如图1所示:从基本架构图中可以看到,搜索引擎分为爬行、存储、索引、排序、更新、域名解析等几大模块,把搜索引擎中涉及到的所有网页分为下面这几类:(1)所有网页(AllUrls ):包括所有已经爬行下来的和已提取到但还没有爬行下来的网页;(2)已爬网页(VisitedUrls ):表示所有已经爬行下来的网页;中国科技论文在线_______________________________________________________________________________(3)待爬网页(ToVisitUrls ):表示在下次爬行时要爬行的网页;(4)种子页面(SeedUrls ):是搜索引擎最初运行时提交给爬行器爬行的网页。
这些网页的统计,类别等信息都可以存储在数据库中,而网页本身与这些网页信息分开存储。
上面基本架构图总的流程是这样的:(1)首先把一组种子页面传给域名解析器(URL Resolver ),将域名转化为IP 地址;(2)由爬行器(Crawler)根据HTTP 协议从信息服务器获得HTML 文本,在页面存储器(Store Server)中存储原始页面,如果是第一次爬行,可直接存入网页库(Repository);以后在爬行器渐增式更新时,需要存储器更新模块采用一定的网页库更新模式,最终存入网页库;(3)索引器(Indexer)从网页库中读出网页,按关键字索引,并提取出链接URL,放入图中所有网页信息库中,并把爬行下来的网页的URL 及其网页元信息存入已爬网页信息表中;(4)排序模块(Rank)接收所有网页的URL ,根据特定算法对每个网页的重要性进行计算,并对网页按重要性排序;(5)更新模块(Update)接收已爬行下来网页的信息以及网页的排序情况,根据特定的更新策略,选择URL 存入待爬网页信息表中;(6)网页服务器(URL Server)从待爬网页信息表接收要爬行的URL ,传给域名解析器进行解析,进行下一轮搜索。
3.1 渐增式爬行器本文采用的爬行器是渐增式的,每次有目的地爬行更新部分网页,所以有必要了解网页自身的变化情况,这就要求记录下网页的元信息,即网页自身的描述信息,从中了解网页的变化情况,以此来调整对网页的更新频率等。
元信息可以包含以下这些内容:网址、网页名称、网页长度、最后修改日期等等。
由于HTTP 的HEAD 请求方法只从服务器上请求获得网页的元信息,不需要传送整个文件,请求速度很快,所以在请求爬行整个网页之前,先进行HEAD 请求,以获得网页的元信息。