网站建设怎么支付款项,网站页面设计怎么收费,24小时学会网站建设 pdf下载,软文营销的缺点permike 原文 搜索引擎蜘蛛爬虫原理 关于搜索引擎的大话还是少说些#xff0c;下面开始正文搜索引擎蜘蛛爬虫原理#xff1a; 1 聚焦爬虫工作原理及关键技术概述 网络爬虫是一个自动提取网页的程序#xff0c;它为搜索引擎从Internet网上下载网页#xff0c;是搜索引擎的重…permike 原文 搜索引擎蜘蛛爬虫原理 关于搜索引擎的大话还是少说些下面开始正文搜索引擎蜘蛛爬虫原理 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算法中没有对这些链接作区分因此常常给网页分析带来广告等噪声链接的干扰。在网页块级别(Blocklevel)进行链接分析的算法的基本思想是通过VIPS网页分割算法将网页分为不同的网页块(page block)然后对这些网页块建立pagetoblock和blocktopage的链接矩阵分别记为Z和X。于是在pagetopage图上的网页块级别的PageRank为WpX×Z在blocktoblock图上的BlockRank为WbZ×X。已经有人实现了块级别的PageRank和HITS算法并通过实验证明效率和准确率都比传统的对应算法要好。 4.2 基于网页内容的网页分析算法 基于网页内容的分析算法指的是利用网页内容文本、数据等资源特征进行的网页评价。网页的内容从原来的以超文本为主发展到后来动态页面或称为Hidden Web数据为主后者的数据量约为直接可见页面数据PIWPublicly Indexable Web的400~500倍。另一方面多媒体数据、Web Service等各种网络资源形式也日益丰富。因此基于网页内容的分析算法也从原来的较为单纯的文本检索方法发展为涵盖网页数据抽取、机器学习、数据挖掘、语义理解等多种方法的综合应用。本节根据网页数据形式的不同将基于网页内容的分析算法归纳以下三类第一种针对以文本和超链接为主的无结构或结构很简单的网页第二种针对从结构化的数据源如RDBMS动态生成的页面其数据不能直接批量访问第三种针对的数据界于第一和第二类数据之间具有较好的结构显示遵循一定模式或风格且可以直接访问。 permike 原文 搜索引擎蜘蛛爬虫原理 关于搜索引擎的大话还是少说些下面开始正文搜索引擎蜘蛛爬虫原理 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算法中没有对这些链接作区分因此常常给网页分析带来广告等噪声链接的干扰。在网页块级别(Blocklevel)进行链接分析的算法的基本思想是通过VIPS网页分割算法将网页分为不同的网页块(page block)然后对这些网页块建立pagetoblock和blocktopage的链接矩阵分别记为Z和X。于是在pagetopage图上的网页块级别的PageRank为WpX×Z在blocktoblock图上的BlockRank为WbZ×X。已经有人实现了块级别的PageRank和HITS算法并通过实验证明效率和准确率都比传统的对应算法要好。 4.2 基于网页内容的网页分析算法 基于网页内容的分析算法指的是利用网页内容文本、数据等资源特征进行的网页评价。网页的内容从原来的以超文本为主发展到后来动态页面或称为Hidden Web数据为主后者的数据量约为直接可见页面数据PIWPublicly Indexable Web的400~500倍。另一方面多媒体数据、Web Service等各种网络资源形式也日益丰富。因此基于网页内容的分析算法也从原来的较为单纯的文本检索方法发展为涵盖网页数据抽取、机器学习、数据挖掘、语义理解等多种方法的综合应用。本节根据网页数据形式的不同将基于网页内容的分析算法归纳以下三类第一种针对以文本和超链接为主的无结构或结构很简单的网页第二种针对从结构化的数据源如RDBMS动态生成的页面其数据不能直接批量访问第三种针对的数据界于第一和第二类数据之间具有较好的结构显示遵循一定模式或风格且可以直接访问。