首页 » SEO » 阅读文章

使 Web 爬虫程序能高效地搜索您的门户站点和 Web 站点

2010-08-04 16:03 5611 0 发表评论

Sitemaps 0.90 协议简介以及如何使用 WebSphere Portal 补充其功能
级别: 中级

Andreas Prokoph (pkp@de.ibm.com), 软件架构师,搜索技术,WebSphere Portal 开发, IBM

2007 年 5 月 28 日

Web 站点管理员、搜索技术供应商都面临着寻找或帮助定位高质量信息的挑战。使用新兴的 Sitemaps 0.9 协议,Web 站点管理员通过以更理想的方式向爬虫程序提供关于其站点的信息,从而能够战胜这种挑战。使用这项协议可以指定要爬行的精确内容,更新信息的频率和特定站点的重要性。

本文对 Sitemaps 0.90 协议做了简要的概述,还介绍了如何使用 IBM® WebSphere® Portal Version 6(此后称作 WebSphere Portal) 来生成和配置这样的一个站点地图。要完全理解本文的内容,需要对 XML 和 WebSphere Portal 管理有深入的认识。

简介

直到现在,web 爬虫程序和站点管理员不得不花大量的时间来解决如何优化某个站点的爬行能力,然后才能搜索到宿主在这个 Web 站点上的相关信息。并且,在理想情况下,还希望不会给宿主服务器添加太多负载,不会触发无必要的动作,并且也不需要在适当的时间间隔内重复爬行这个 Web 站点。

Sitemaps 0.90 协议(参见参考资料中的 Sitemaps.org)提供了一种简便了方法,使 Web 站点管理员可以向爬虫程序提供所需的信息,从而可以安全高效地爬行 Web 站点。此外,这一功能的实现依靠了各种 Web 标准,如 XML。

简而言之,我们需要做的就是生成一个页面引用列表(URL),爬虫程序通过这个列表获取信息。这个列表存储在一个简单的 XML Sitemaps 0.90 兼容文件中。每个 URL 在 XML 文件中都存在一个条目,该文件只允许强制输入 URL 引用本身。您可以选择性地为每个 URL 列出额外的信息,包括 URL 的最后修改时间、更改频率、终止日期和优先值。(优先值指定了该页面相对这个 Web 站点的重要性。)完成 Sitemap XML 文件后,便可以向支持这一协议的站点提交站点地图的 URL,这样 web 爬虫程序便可以使用该文件了。现在 Google 和 Yahoo! 已经可以支持 Sitemaps 0.90 协议了。

注册站点地图之后,搜索引擎的 web 爬虫程序便会使用站点地图文件所提供的信息,方式如下:先确认需要爬行的页面,然后使用更改频率信息来决定这一次需要处理的的页面。这样,站点爬行的效率为两边都减轻了负担:宿主 Web 服务器和爬虫程序,方法是把 GET 页面请求数量保持在最小值。

总的来说,Sitemaps 0.90 协议对爬行效率提供了改进,而常规站点地图引用和组合的机器指令无法完成这点。

关于 Sitemaps 0.90

Sitemaps 0.90为 Web 站点管理员提供了简单而且直观的方法,使他们可以向 web 爬虫程序提供正确的信息,从而使爬虫程序能够高效地爬行某个 Web 站点。与旧式的 “通过跟随超链接爬行 Web 站点” 方法相比较,Sitemaps 0.90 是一次重大的突破。如今,许多搜索引擎仍然推荐实现某一级别爬行效率的方法,那就是使爬虫程序可以爬行基于 HTML 的站点地图页面。然而,随着如今世界上的 Web 站点日益增加和日趋复杂,这种方法并不是最终的解决方案。Sitemaps 0.90 还可以允许 Web 站点指定关于内容或页面的信息,如页面更新频率和页面是否被更改,这样爬虫程序就不再需要确定和存储这些信息了。在这种情况下还有一点很重要,即 Sitemaps 0.90 协议依赖于 Web 标准并要重用已存在的概念。站点地图协议以一种简明并且结构直观的 XML 文件为基础,该 XML 文件由一个 URL 及其相关元数据的列表构成。这一信息能帮助 web 爬虫程序决定要爬行哪些页面以及爬行的时间。推荐标准和信息由 Web 站点管理员或负责 Web 站点的工作人员提供。

因特网上已经出现了开源、免费和共享形式的 Sitemaps 0.90 生成工具。这可能是因为 Google 所运行的 Sitemap Beta 程序。Sitemaps 0.90 generator 工具就是这些开源工具的一个例子。除了这些独立的工具之外,还有可能让管理和生成 Web 内容的系统能自动地创建和维护 Sitemaps 0.90 站点文件,让 Web 开发工具能提供另存为站点地图的功能。

Sitemaps 0.90 还富有灵活性,可以将多种来源的内容输入站点地图文件。Sitemaps 0.90 提供了一个选项,可以把 Sitemaps index 文件提供给爬虫程序。当然,站点索引文件的主要优势就是能把非常大的 Web 站点的站点文件分割成众多比较小的文件。还可以使用站点地图索引文件把各种内容来源或内容交付应用程序生成的多个站点地图结合成一个单一的站点地图(索引)文件。

对于 IBM WebSphere Portal 之类的产品来说,Sitemaps 0.90 的重要性是由门户的性质决定的。门户允许生成动态的内容。这样的结果是,它们生成的复杂的 URL 不允许使用标准爬虫程序指令(如 robots.txt)来定义爬虫程序所爬行的 Web 空间。Sitemaps 0.90 结合最新发布的 WebSphere Portal 所提供的经过改进的爬行特性,可以改进站点管理员对公共门户站点的爬行控制。

以下几个部分将详细介绍 Sitemaps 0.90 协议。

Sitemaps 0.90 XML 文件

清单 1 是一个简单的 Sitemaps 0.90 文件,其中列出了一个小型 Web 站点的四个页面,每个页面都有所需的所有属性。

清单 1. 所需属性
复制内容到剪贴板
PHP代码:

[url=http://www.mycompany.com/%3C]http://www.mycompany.com/<[/url];/loc>

2006-08-07

daily

0.7

[url=http://www.mycompany.com/products/%3C]http://www.mycompany.com/products/<[/url];/loc>

2006-08-01

weekly

0.8

[url=http://www.mycompany.com/news/%3C]http://www.mycompany.com/news/<[/url];/loc>

2006-08-07

weekly

0.8

[url=http://www.mycompany.com/archive/%3C]http://www.mycompany.com/archive/<[/url];/loc>

2006-05-01

monthly

0.3

下面这个表格详细介绍了清单 1 所示的强制输入内容:

XML 标记解释

封装 XML 文件并提供对协议标准的引用
这是各个 URL 条目的父标记。
Web 页面的 URL 并且必须完全符合条件。
修改日期。指定为 W3C Datetime 格式。可以简化为日期,比方说,YYYY-MM-DD。
指定页面更改的频率,可具有下列值:always、hourly、daily、weekly、monthly、yearly 和 never。

介于 0.0 和 1.0 之间的值,它指定了某个页面相对其站点上其它页面的重要性。用于排列站点页面的爬行顺序。注意,这样并不会 在搜索结果中对页面的相关性造成影响。

可以在 Sitemaps 0.90 协议 页面上找到有关 Sitemap 协议 XML 模式的详细信息。

使站点地图能被爬虫程序访问

创建了站点地图 XML 文件并能通过 Web 服务器访问它之后,便可以通过支持搜索引擎所提供的 URL 注册服务把该文件提交给服务器。这种方法类似于传统的基于 HTML 的站点地图(或者主页)的注册方法。自本文的发表之日起,Google 和 Yahoo! 都分别通过各自的注册服务对这一协议提供了支持。

注意: 您会想要了解关于站点文件在 Web 服务器上的存放位置的规则(参见 Sitemap location 获得详细信息)。

下面是一个有效的站点地图路径,关于站点地图本身列出的 URL

Site: http://www.mycompany.com/xyz/index.html
Sitemap: http://www.mycompany.com/xyz/sitemap.xml

下面是几个无效的站点地图路径(假设与上面列出的示例站点地图一样)注册的例子:

bad Site: http://www.mycompany.com/index.html
bad Site: http://www.notmycompany.com/index.html
bad Site: http://subdomain.mycompany.com/

有关站点地图路径的详细信息,请参阅 Sitemaps 0.90 协议。

文档选项
将打印机的版面设置成横向打印模式

打印本页
将此页作为电子邮件发送

将此页作为电子邮件发送

讨论

级别: 中级

Andreas Prokoph (pkp@de.ibm.com), 软件架构师,搜索技术,WebSphere Portal 开发, IBM

2007 年 5 月 28 日

Web 站点管理员、搜索技术供应商都面临着寻找或帮助定位高质量信息的挑战。使用新兴的 Sitemaps 0.9 协议,Web 站点管理员通过以更理想的方式向爬虫程序提供关于其站点的信息,从而能够战胜这种挑战。使用这项协议可以指定要爬行的精确内容,更新信息的频率和特定站点的重要性。

本文对 Sitemaps 0.90 协议做了简要的概述,还介绍了如何使用 IBM® WebSphere® Portal Version 6(此后称作 WebSphere Portal) 来生成和配置这样的一个站点地图。要完全理解本文的内容,需要对 XML 和 WebSphere Portal 管理有深入的认识。

简介

直到现在,web 爬虫程序和站点管理员不得不花大量的时间来解决如何优化某个站点的爬行能力,然后才能搜索到宿主在这个 Web 站点上的相关信息。并且,在理想情况下,还希望不会给宿主服务器添加太多负载,不会触发无必要的动作,并且也不需要在适当的时间间隔内重复爬行这个 Web 站点。

Sitemaps 0.90 协议(参见参考资料中的 Sitemaps.org)提供了一种简便了方法,使 Web 站点管理员可以向爬虫程序提供所需的信息,从而可以安全高效地爬行 Web 站点。此外,这一功能的实现依靠了各种 Web 标准,如 XML。

简而言之,我们需要做的就是生成一个页面引用列表(URL),爬虫程序通过这个列表获取信息。这个列表存储在一个简单的 XML Sitemaps 0.90 兼容文件中。每个 URL 在 XML 文件中都存在一个条目,该文件只允许强制输入 URL 引用本身。您可以选择性地为每个 URL 列出额外的信息,包括 URL 的最后修改时间、更改频率、终止日期和优先值。(优先值指定了该页面相对这个 Web 站点的重要性。)完成 Sitemap XML 文件后,便可以向支持这一协议的站点提交站点地图的 URL,这样 web 爬虫程序便可以使用该文件了。现在 Google 和 Yahoo! 已经可以支持 Sitemaps 0.90 协议了。

注册站点地图之后,搜索引擎的 web 爬虫程序便会使用站点地图文件所提供的信息,方式如下:先确认需要爬行的页面,然后使用更改频率信息来决定这一次需要处理的的页面。这样,站点爬行的效率为两边都减轻了负担:宿主 Web 服务器和爬虫程序,方法是把 GET 页面请求数量保持在最小值。

总的来说,Sitemaps 0.90 协议对爬行效率提供了改进,而常规站点地图引用和组合的机器指令无法完成这点。

回页首

关于 Sitemaps 0.90

Sitemaps 0.90为 Web 站点管理员提供了简单而且直观的方法,使他们可以向 web 爬虫程序提供正确的信息,从而使爬虫程序能够高效地爬行某个 Web 站点。与旧式的 “通过跟随超链接爬行 Web 站点” 方法相比较,Sitemaps 0.90 是一次重大的突破。如今,许多搜索引擎仍然推荐实现某一级别爬行效率的方法,那就是使爬虫程序可以爬行基于 HTML 的站点地图页面。然而,随着如今世界上的 Web 站点日益增加和日趋复杂,这种方法并不是最终的解决方案。Sitemaps 0.90 还可以允许 Web 站点指定关于内容或页面的信息,如页面更新频率和页面是否被更改,这样爬虫程序就不再需要确定和存储这些信息了。在这种情况下还有一点很重要,即 Sitemaps 0.90 协议依赖于 Web 标准并要重用已存在的概念。站点地图协议以一种简明并且结构直观的 XML 文件为基础,该 XML 文件由一个 URL 及其相关元数据的列表构成。这一信息能帮助 web 爬虫程序决定要爬行哪些页面以及爬行的时间。推荐标准和信息由 Web 站点管理员或负责 Web 站点的工作人员提供。

因特网上已经出现了开源、免费和共享形式的 Sitemaps 0.90 生成工具。这可能是因为 Google 所运行的 Sitemap Beta 程序。Sitemaps 0.90 generator 工具就是这些开源工具的一个例子。除了这些独立的工具之外,还有可能让管理和生成 Web 内容的系统能自动地创建和维护 Sitemaps 0.90 站点文件,让 Web 开发工具能提供另存为站点地图的功能。

Sitemaps 0.90 还富有灵活性,可以将多种来源的内容输入站点地图文件。Sitemaps 0.90 提供了一个选项,可以把 Sitemaps index 文件提供给爬虫程序。当然,站点索引文件的主要优势就是能把非常大的 Web 站点的站点文件分割成众多比较小的文件。还可以使用站点地图索引文件把各种内容来源或内容交付应用程序生成的多个站点地图结合成一个单一的站点地图(索引)文件。

对于 IBM WebSphere Portal 之类的产品来说,Sitemaps 0.90 的重要性是由门户的性质决定的。门户允许生成动态的内容。这样的结果是,它们生成的复杂的 URL 不允许使用标准爬虫程序指令(如 robots.txt)来定义爬虫程序所爬行的 Web 空间。Sitemaps 0.90 结合最新发布的 WebSphere Portal 所提供的经过改进的爬行特性,可以改进站点管理员对公共门户站点的爬行控制。

以下几个部分将详细介绍 Sitemaps 0.90 协议。

Sitemaps 0.90 XML 文件

清单 1 是一个简单的 Sitemaps 0.90 文件,其中列出了一个小型 Web 站点的四个页面,每个页面都有所需的所有属性。

清单 1. 所需属性


http://www.mycompany.com/
2006-08-07
daily

0.7

http://www.mycompany.com/products/
2006-08-01
weekly

0.8


http://www.mycompany.com/news/
2006-08-07
weekly

0.8


http://www.mycompany.com/archive/
2006-05-01
monthly

0.3

下面这个表格详细介绍了清单 1 所示的强制输入内容:

XML 标记解释
封装 XML 文件并提供对协议标准的引用
这是各个 URL 条目的父标记。
Web 页面的 URL 并且必须完全符合条件。
修改日期。指定为 W3C Datetime 格式。可以简化为日期,比方说,YYYY-MM-DD。
指定页面更改的频率,可具有下列值:always、hourly、daily、weekly、monthly、yearly 和 never。

介于 0.0 和 1.0 之间的值,它指定了某个页面相对其站点上其它页面的重要性。用于排列站点页面的爬行顺序。注意,这样并不会 在搜索结果中对页面的相关性造成影响。

可以在 Sitemaps 0.90 协议 页面上找到有关 Sitemap 协议 XML 模式的详细信息。

使站点地图能被爬虫程序访问

创建了站点地图 XML 文件并能通过 Web 服务器访问它之后,便可以通过支持搜索引擎所提供的 URL 注册服务把该文件提交给服务器。这种方法类似于传统的基于 HTML 的站点地图(或者主页)的注册方法。自本文的发表之日起,Google 和 Yahoo! 都分别通过各自的注册服务对这一协议提供了支持。

注意: 您会想要了解关于站点文件在 Web 服务器上的存放位置的规则(参见 Sitemap location 获得详细信息)。

下面是一个有效的站点地图路径,关于站点地图本身列出的 URL

Site: http://www.mycompany.com/xyz/index.html
Sitemap: http://www.mycompany.com/xyz/sitemap.xml

下面是几个无效的站点地图路径(假设与上面列出的示例站点地图一样)注册的例子:

bad Site: http://www.mycompany.com/index.html
bad Site: http://www.notmycompany.com/index.html
bad Site: http://subdomain.mycompany.com/

有关站点地图路径的详细信息,请参阅 Sitemaps 0.90 协议。

回页首

支持 Sitemaps 0.90 协议的 WebSphere Portal V6

用于生成兼容 Sitemaps 0.90 的站点地图的 IBM Search Sitemap Utility portlet

可以从 WebSphere Portal Catalog 处获得 IBM Search Sitemap Utility portlet。下一部分将简要介绍这个 portlet 的功能。

IBM Search Sitemap Utility portlet 是对 WebSphere Portal 交付的 Sitemap portlet 的扩展。它是功能上的一种增强,能让我们把公共门户页面作为 Sitemaps 0.90 兼容 XML 文件导出。图 1 演示了 portlet 的主视图。

IBM Search Sitemap Utility portlet 中的查看页面和 portlet

使用 IBM Search Sitemap Utility 在门户中浏览页面和 portlet 的列表。具有适当管理权限的用户能够设置 portlet 中每个页面所能显示的页面和 portlet 的数目。默认情况下,每页显示 50 个条目。 页面和 portlet 以三级层次结构显示。

注意: 如果您想要同时显示一个门户的 portlet 和页面,可以通过配置 IBM Search Sitemap Utility portlet 来实现。

图 1. IBM Search Sitemap Utility portlet 的主视图
IBM Search Sitemap Utility portlet 的主视图

在主视图中可以发起以下各种操作:

* 导航 Search Sitemap —— 如果 Sitemap 列表的内容超过了 50 个门户页面,可以使用额外的链接来导航列表。
* 访问页面和 portlet —— 单击某个 portlet 链接,便可以查看含有该 portlet 的页面。
* 更换场景 —— 以相应的语言显示页面和 portlet。

编辑 Sitemap Utility portlet 的首选项

使用编辑模式过滤门户区段:

选取 Filter Portal Sections 启用门户页面过滤功能。

* 启用该功能之后,只有列表中选择的区段会在 Search Sitemap portlet 中显示。
* 如果启用了该功能但是并没有选择区段,则 Search Sitemap portlet 会显示出没有页面可用的提示信息。
* 如果未启用 Filter Portal Sections,那么将显示所有的页面。

图 2. 编辑 IBM Search Sitemap Utility portlet 的视图
编辑 IBM Search Sitemap Utility portlet 的视图

Web 服务器对 Sitemap XML 文件的可访问性

建立了站点地图,并使之包含所有将被各机器爬行的相关页面之后,便可以开始把信息作为 Sitemaps 0.90 兼容 XML 文件导出到文件系统。

图 3. 导出 Sitemap XML 文件
导出 Sitemap XML 文件

要实现这点,请单击 Export Search Sitemap portlet 顶部的图标。然后会显示出一个浏览器 Open file 对话窗口,询问所要执行的操作。单击 Save to Disk 并在下一个对话框中选择想要存储 Sitemap XML 文件的相应目标位置。最后一步需要使爬虫程序能通过 Web 服务器访问这个 XML 文档。要实现这一点,只需把该文件复制到 Web 服务器管理的相应的文件夹中。把文件存储在 Web 服务器的文档根文件夹下(参见 Sitemap location 获得详细信息)。

回页首

展望未来

这篇文章提供了有关 Sitemaps 0.90 协议的重要性和相关优势的高级信息。特别是,Sitemaps 0.90 解决了当今 web 爬虫程序所面对的一个巨大挑战 —— 现代 Web 站点的日益复杂和越来越多对传统爬虫程序造成挑战的技术。比方说,Web 页面上的 JavaScript 可以让视图整洁干净,这是用户非常需要的。然而,爬虫程序却对此漠不关心;他们忽略了(不应该忽略!)JavaScript 的存在,因此也受到了束缚从而不能显示更多的信息(虽然有可能是故意这样做的)。

今天,Web 站点管理员在选择使用类似这样的技巧时,必须摒弃一般的爬行能力。与此同时,web 爬虫程序开发人员努力创建新的爬行方法以应对日益复杂的 Web 页面,因为复杂的 Web 页面常常会影响页面的处理速度。如果这种模式继续下去的话,爬虫程序会受到双重的压力,在维持可接受的爬行性能的同时又要聚集不断增加的信息量。

搜索作为导航的主要手段,其重要性 —— 在因特网或大型 Web 站点上 —— 在不断增加。因此,交付内容和信息的应用程序和解决方案构成搜索的一部分,并且能提供可搜索的信息,这一点十分重要。Sitemaps 0.90 是实现这一目标的重大突破,甚至在复杂和动态的现代 Web 站点中,它也能提供简单和有效的爬行。

Save as Sitemap 很有希望成为内容管理系统、文档管理应用程序、新闻提要等在不久的将来提供的选项。结合适当的对结果站点地图的编辑功能,这一功能将极大地增进 web 爬虫程序高效及时地获取正确信息的功能,并且能确保爬虫程序还能够爬行使用现有方法无法使用的内容来源。

本文地址:http://www.jwzzsw.com/archives/171.html

文章作者:思悟
版权所有 © 转载时请以链接形式注明作者和原始出处!

评论 共0条 (RSS 2.0) 发表评论

  1. 暂无评论,快抢沙发吧。

发表评论

联系我 Contact Me

回到页首