输入关键字 抓取所有网页(搜索引擎的工作的过程,而简单的讲搜索引擎工作过程)

优采云 发布时间: 2022-03-07 17:11

  输入关键字 抓取所有网页(搜索引擎的工作的过程,而简单的讲搜索引擎工作过程)

  搜索引擎的工作过程非常复杂,简单来说,搜索引擎的工作过程大致可以分为三个阶段。

  爬取爬取:搜索引擎蜘蛛通过以下链接访问页面,获取页面的 HTML 代码并将其存储在数据库中。

  预处理:搜索引擎对抓取的页面数据进行文本提取、中文分词、索引等,为排名程序调用做准备。

  排名:用户输入关键词后,排名调用索引数据库数据,计算相关度,然后生成一定格式的搜索结果页面。

  爬行和爬行

  爬取和爬取是搜索引擎工作的第一步,完成数据采集的任务。

  蜘蛛

  搜索引擎用来抓取和访问页面的程序称为蜘蛛,也称为机器人。

  蜘蛛代理名称:

  百度蜘蛛:百度蜘蛛+(+)·

  雅虎!Slurp 中国:Mozilla/5.0(兼容;Yahoo! Slurp 中国;)·

  英语雅虎蜘蛛:Mozilla/5.0(兼容;Yahoo! Slurp/3.0;)

  谷歌蜘蛛:Mozilla/5.0(兼容;Googlebot/2.1;+)·

  微软必应蜘蛛:msnbot/1.1 (+)·

  搜狗蜘蛛:搜狗+网络+机器人+(+#07)·

  搜搜蜘蛛:搜搜蜘蛛+(+) ·

  有道蜘蛛:Mozilla/5.0(兼容;YodaoBot/1.0;;)

  跟随链接

  为了在网络上抓取尽可能多的页面,搜索引擎蜘蛛会跟随页面上的链接,从一个页面爬到下一个页面,就像蜘蛛在蜘蛛网上爬行一样,这就是搜索引擎蜘蛛这个名字的由来. 最简单的爬行遍历策略分为两种,一种是深度优先,一种是广度优先。

  深度优先搜索

  深度优先搜索是在搜索树的每一层只展开一个子节点,继续往深处前进,直到不能再前进(到达叶子节点或被深度限制),然后从当前节点返回到上一个节点,继续另一个方向。这种方法的搜索树是从根开始逐个分支逐渐形成的。

  深度优先搜索也称为垂直搜索。由于已解决的问题树可能收录无限分支,如果深度优先搜索误入无限分支(即深度是无限的),则无法找到目标节点。因此,深度优先搜索策略是不完整的。而且,应用这种策略得到的解不一定是最好的解(最短路径)。

  广度优先搜索

  在深度优先搜索算法中,首先扩展深度较大的节点。如果将算法改为按照搜索中节点的层级进行搜索,当该层的节点还没有被搜索和处理过时,下层节点无法处理,即先扩展深度较小的节点,即就是说先生成的节点先展开,这种搜索算法称为广度优先搜索。

  在深度优先搜索算法中,首先扩展深度较大的节点。如果将算法改为按照搜索中节点的层级进行搜索,当该层的节点还没有被搜索和处理过时,下层节点无法处理,即先扩展深度较小的节点,即就是说先生成的节点先展开,这种搜索算法称为广度优先搜索。

  吸引蜘蛛

  哪些页面被认为更重要?有几个因素:

  · 网站 和页面权重。优质和旧的网站被认为权重更高,在这个网站上的页面会被爬得更高的深度,所以更多的内页会是收录。

  · 页面更新。蜘蛛每次抓取时都会存储页面数据。如果第二次爬取发现页面和第一次收录一模一样,说明页面没有更新,蜘蛛不需要频繁爬取。如果页面内容更新频繁,蜘蛛会更频繁地访问该页面,页面上出现的新链接自然会被蜘蛛更快地跟踪并抓取新页面。

  · 导入链接。不管是外部链接还是同一个网站的内部链接,为了被蜘蛛爬取,必须有传入链接才能进入页面,否则蜘蛛没有机会知道这页纸。高质量的入站链接通常还会增加页面上出站链接的抓取深度。一般来说,首页在网站上的权重最高,大部分外部链接指向首页,首页也是蜘蛛访问频率最高的。离首页越近的点击距离,页面权重越高,被蜘蛛爬取的机会就越大。

  地址库

  为了避免重复爬取和爬取网址,搜索引擎会建立一个地址数据库来记录已找到但未爬取的页面,以及已爬取的页面。地址存储库中有几个 url 来源:

  (1)手动输入*敏*感*词*网站。

  (2)蜘蛛爬取页面后,从html中解析出新的链接url,并与地址库中的数据进行比较,如果是不在地址库中的url,则将其存储在要访问的地址库中。

  (3)站长通过搜索引擎网页提交表单提交的网址。

  蜘蛛根据重要性从要访问的地址库中提取url,访问并爬取页面,然后将要访问的地址库中的url删除,放入被访问地址的地址库中。

  大多数主要搜索引擎都为网站管理员提供了提交 URL 的表单。但是,这些提交的 URL 只存储在地址数据库中。是否 收录 取决于页面的重要性。搜索引擎的绝大多数页面 收录 都是由蜘蛛自己通过链接获得的。可以说,提交页面基本没用,搜索引擎更喜欢跟随链接发现新页面。

  文件存储 搜索引擎蜘蛛爬取的数据存储在原创页面数据库中。页面数据与用户浏览器获取的 HTML 完全相同。每个 uRI 都有一个唯一的文件编号。

  爬行时重复内容检测

  检测和删除重复项通常在下面描述的预处理过程中完成,但是现代蜘蛛在爬取和爬取文件时也会进行一定程度的重复项检测。当你在网站上遇到大量转载或抄袭、权重极低的内容时,很可能会停止爬取。这就是为什么一些网站管理员在日志文件中发现蜘蛛,但该页面从未真正被 收录 访问过。

  预处理

  在一些 SEO 资料中,“预处理”也简称为“索引”,因为索引是预处理中最重要的步骤。

  搜索引擎蜘蛛爬取的原创页面不能直接用于查询排名处理。搜索引擎数据库的页数在万亿级别。用户输入搜索词后,排名程序会实时分析这么多页面的相关性。计算量太大,不可能在一两秒内返回排名结果。因此,必须对爬取的页面进行预处理,为最终的查询排名做准备。

  和爬虫一样,预处理是在后台提前完成的,用户在搜索的时候感受不到这个过程。

  1.提取文本

  今天的搜索引擎仍然基于文本内容。蜘蛛抓取到的页面中的HTML代码,除了用户在浏览器上可以看到的可见文本外,还收录大量的HTML格式标签、程序等不能用于排名的内容。搜索引擎预处理首先要做的就是去除HTML文件中的标签和程序,提取网页中可用于排名处理的文本内容。

  今天是愚人节

  去掉 HTML 代码后,剩下的用于排名的文字就是这一行:

  今天是愚人节

  除了可见文本,搜索引擎还会提取一些收录文本信息的特殊代码,例如 Meta 标签中的文本、图片 alt 文本、Flash 文件 alt 文本、链接锚文本等。

  2.中文分词

  分词是中文搜索引擎特有的一个步骤。搜索引擎基于单词存储和处理页面和用户搜索。英语等语言用空格隔开,搜索引擎索引程序可以直接把句子分成词组。但是,中文单词和单词之间没有分隔符,一个句子中的所有单词和单词都是连接在一起的。搜索引擎必须首先区分哪些词组成一个词,哪些词本身就是一个词。例如,“减肥法”将分为“减肥”和“方法”两个词。

  中文分词基本上有两种方法,一种是基于字典匹配的,一种是基于统计的。

  基于字典匹配的方法是指将一段待分析的汉字与预先制作的字典中的词条进行匹配,从待分析的字符串中扫描字典中已有的词条。分离出一个词。

  根据扫描方向,基于字典的匹配方法可以分为正向匹配和反向匹配。根据匹配长度优先级的不同,可以分为最大匹配和最小匹配。优先混合扫描方向和长度可以产生不同的方法,例如正向最大匹配和反向最大匹配。

  字典匹配方法计算简单,其准确性很大程度上取决于字典的完整性和更新。

  基于统计的分词方法是指分析大量文本样本,计算相邻词的统计概率。出现的相邻单词越多,形成单词的可能性就越大。基于统计的方法的优点是对新出现的词更敏感,也有利于消歧。

  基于字典匹配和统计的分词方法各有优缺点。实际使用的分词系统混合使用了这两种方法,快速高效,可以识别新词和新词,消除歧义。

  中文分词的准确性往往会影响搜索引擎排名的相关性。比如你在百度上搜索“搜索引擎优化”,从截图中可以看出百度把“搜索引擎优化”这六个词当成一个词。

  在 Google 上搜索相同的词时,快照显示 Google 将其拆分为“搜索引擎”和“优化”两个词。显然,百度有更合理的细分,搜索引擎优化是一个完整的概念。谷歌的分词往往更细化。

  分词的这种差异可能是某些 关键词 排名在不同搜索引擎上表现不同的原因之一。例如,百度更喜欢匹配搜索词以显示在页面上。也就是说,在搜索“够玩博客”的时候,如果这四个词连续出现,在百度中更容易获得好的排名。另一方面,谷歌实际上并不需要完全匹配。有些页面出现了“足够的戏剧”和“博客”这两个词,但不一定完全匹配,“足够的戏剧”出现在页面的前面,“博客”在页面的其他位置,这样的页面出现在谷歌搜索“足够剧博客“”,也可以获得不错的排名。

  搜索引擎对页面的分词取决于词库的大小、准确度和分词算法的质量,而不是页面本身,因此SEO人员对分词的作用很小。唯一能做的就是在页面上使用某种形式来提示搜索引擎某些词应该被当作一个词处理,尤其是当它可能有歧义的时候,比如页面标题中的关键词@,h1标签和黑体字>。如果页面是关于“和服”的内容,那么“和服”这个词可以特别用粗体标出。如果页面是关于“化妆和服装”的,你可以把“服装”这个词加粗。这样,当搜索引擎分析页面时,它就知道粗体字应该是一个词。

  3.去停用词

  无论是英文还是中文,都会出现一些在页面内容中出现频率高但对内容没有影响的词,比如“的”、“地”、“de”、“ah”等辅助词, “ha”、“ya”等感叹词、“therefore”、“with”、“but”等副词或介词。这些词被称为停用词,因为它们对页面的主要含义几乎没有影响。英语中常见的停用词有 the、a、an、to、of 等。

  搜索引擎会在索引页面之前去除这些停用词,使索引数据的主题更加突出,减少不必要的计算量。

  4.去除噪音

  大部分页面也存在一些对页面主题没有贡献的内容,如版权声明文字、导航栏、广告等。以常见的博客导航为例,导航内容如文章categories几乎每个博客页面都会出现历史档案,但这些页面本身与“类别”和“历史”这两个词无关。用户搜索“历史”、“类别”并返回博客文章只是因为这些词出现在页面上是没有意义的,完全无关紧要的。因此,这些块都是噪音,只能对页面的主题起到分散作用。

  搜索引擎需要在不使用嘈杂内容的情况下识别和消除这种噪音并进行排名。去噪的基本方法是根据HTML标签将页面分成块,区分页眉、导航、文本、页脚、广告等区域。网站 上重复出现的块通常是噪音。页面去噪后,剩下的就是页面的主要内容。

  5.移除

  搜索引擎还需要对页面进行重复数据删除。

  同一个文章经常在不同的网站和同一个网站的不同URL上重复出现,搜索引擎不喜欢这种重复的内容。用户搜索时,如果在前两页看到来自不同网站的同一篇文章文章,用户体验太差了,尽管都是内容相关的。搜索引擎希望只返回一个相同的文章,所以在索引之前需要识别并删除重复的内容。此过程称为“重复数据删除”。

  去重的基本方法是计算页面特征的指纹关键词,也就是从页面的主要内容中选择最有代表性的部分关键词(经常是出现频率最高的关键词) ,然后计算这些 关键词 的数字指纹。这里的关键词的选择是在分词、去停用词、降噪之后。实验表明,通常选择10个特征关键词可以达到比较高的计算精度,选择更多的词对去重精度的提升贡献不大。

  典型的指纹计算方法如MD5算法(Information Digest Algorithm Fifth Edition)。这类指纹算法的特点是输入(feature关键词)的任何微小变化都会导致计算出的指纹出现很大的差距。

  了解了搜索引擎的去重算法后,SEO人员应该知道,简单地加上“de”、“地”、“de”,改变段落的顺序,所谓伪原创,是逃不过去重的。搜索引擎。算法,因为这样的操作不能改变文章关键词的特性。此外,搜索引擎的重复数据删除算法可能不仅在页面级别,而且在段落级别。混用不同的文章,互换段落的顺序,不能让转载、抄袭变成原创。

  6.正向索引

  远期指数也可以简称为指数。

  经过文本提取、分词、去噪和去重后,搜索引擎获得了能够反映页面主要内容的独特的、基于词的内容。接下来,搜索引擎索引程序可以提取关键词,按照分词程序对单词进行划分,将页面转换为关键词的集合,并将每个关键词的内容记录在这页纸。出现频率、出现次数、格式(如在标题标签、粗体、H标签、锚文本等)、位置(如页面第一段等)。这样,每一页就可以记录为一组关键词,其中还记录了每个关键词的词频、格式、位置等权重信息。

  搜索引擎索引程序将页面和关键词 存储到索引数据库中以形成词汇结构。索引词汇表的简化形式如表2-1所示。

  每个文件对应一个文件ID,文件内容表示为关键词的集合。事实上,在搜索引擎索引库中,关键词也已经转换为关键词ID。这样的数据结构称为前向索引。

  7.倒排索引

  前向索引还不能直接用于排名。假设用户搜索关键词2,如果只有前向索引,排序程序需要扫描索引库中的所有文件,找到收录关键词2的文件,然后执行相关性计算。这个计算量不能满足实时返回排名结果的要求。

  因此,搜索引擎会将正向索引数据库重构为倒排索引,并将文件对应到关键词的映射转换为关键词到文件的映射,如表2-2所示.

  在倒排索引中,关键词是主键,每一个关键词都对应着这个关键词出现的一系列文件。这样,当用户搜索某个关键词时,排序程序在倒排索引中定位到这个关键词,可以立即找到所有收录这个关键词的文件。

  关键词0@>链接关系计算

  链接关系计算也是预处理的重要组成部分。页面之间的链接流信息现在收录在所有主要的搜索引擎排名因素中。搜索引擎爬取页面内容后,必须提前计算:页面上的哪些链接指向了其他哪些页面,每个页面上有哪些传入链接,链接使用了哪些锚文本。这些复杂的链接指向关系形成了 网站 和页面的链接权重。

  谷歌PR值是这种链接关系最重要的体现之一。其他搜索引擎做类似的计算,虽然它们不被称为 PR。

  由于页面和链接的数量巨大,而且互联网上的链接关系不断更新,计算链接关系和PR需要很长时间。关于PR和链接分析,后面有专门的章节。

  关键词1@>特殊文件处理

  除了 HTML 文件,搜索引擎通常可以抓取和索引多种基于文本的文件类型,例如 PDF、Word、WPS、XLS、PPT、TXT 文件等。我们还经常在搜索结果中看到这些文件类型。但是,目前的搜索引擎无法处理图片、视频、Flash等非文本内容,也无法执行脚本和程序。

  虽然搜索引擎在识别图片和从 Flash 中提取文本内容方面取得了一些进展,但距离通过读取图片、视频和 Flash 内容直接返回结果的目标还差得很远。图片和视频内容的排名往往基于相关的文字内容。有关详细信息,请参阅下面的集成搜索部分。

  排行

  搜索引擎程序通过搜索引擎蜘蛛爬取的接口计算出倒排索引后,搜索引擎就可以随时处理用户搜索。用户在搜索框中填写关键词后,排名程序调用索引数据库数据,计算排名并展示给客户。排名过程直接与客户互动。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线