`
wangwei3
  • 浏览: 118113 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Heritrix中的SURT和SurtPrefixedDecideRule

阅读更多
在Heritrix中,如果我们需要抓取指定host的网页,需要用到SurtPrefixedDecideRule这个规则。

这里根据Heritrix的文档,解释一下SURT。

SURT全称是Sort-friendly URI Reordering Transform。

目的是将一个URL转换成更方便的格式进行处理。

....

SURT类可以将下面这种形式的URL:

scheme://userinfo@domain.tld:port/path?query#fragment

转换成:

scheme://(tld,domain,:port@userinfo)/path?query#fragment

转换后的格式就称为SURT格式。例如,http://www.baidu.com的SURT格式是http://(com,baidu,www,)

这里()中的内容就是转换的内容。

同时,为了不引起URL的冲突,将"."改成了","。

这样做可以方便处理。

因为,原始的URL的host的层次与人们的常规思维相反。

例如,http://www.ccer.pku.edu.cn。"www","ccer","pku","edu","cn"的范围是从小到大的关系。

而变成SURT格式后是,http://(cn,edu,pku,ccer,www,),范围从大到小。

这样可以帮助我们对URL排序,将同一个范围内的URL聚集到一起(通常只需要对SURT格式的字符串进行比较就可以了)。

最后一个注意点,由于URL的大小写影响不大,所以SURT默认将 所有字母全部转换成小写。

SurtPrefixedDecideRule就是用来判断一个URL的SURT格式是否以某个前缀开头(这些前缀一般是由种子产生的,也可以自己指定前缀的文件)。

SurtPrefixedDecideRule首先根据来源生成一个保存SURT的Set。

然后对每个爬取的URL,先转换成SURT格式,判断是否以Set中的某个SURT开头,根据结果做出accept,pass或reject。

感兴趣的可以自己看看源代码。

(为什么不能发图??)

这里有几个设置属性,默认情况下是从seed直接生成用来判断前缀的Set。

decision: accept或reject,如果不明白的话得了解一下DecideRule的机制。

surts-source-file: 可以指定生成surt Set的URL来源。

seeds-as-surt-prefixes: 是否把种子中的URL作为surt的Set。

surts-dump-file:将用来比较的SURT dump到文件中,主要是调试的时候看一下是否有错误。

also-check-via:是否检查URL的来源。默认为false。

例如。http://blog.csdn.net/是从http://www.csdn.net/上面链接过来的,

就说http://www.csdn.net/是http://blog.csdn.net/的via,就是这里提到的“来源”的意思。

即,如果为true,那么在检查http://blog.csdn.net/的时候,还要检查从http://www.csdn.net/。

rebuild-on-reconfig:在重新配置的时候是否重新生成set。

举几个例子:

假设我们的decision是accept。

1.如果只指定了http://www.foo.org/,那么将会accept所有http://www.foo.org/的URL。但是对于http://foo.org/的页面将会pass。

2.如果指定了http://www.foo.org/和http://foo.org/,那么将会accept所有http://www.foo.org/和http://foo.org/的URL。

3.如果指定了http://foo.org(注意这里没有斜杠,有什么区别大家仔细想一下),那么将会accept所有http://foo.org/和foo.org下的子域名的URL(如,http://www.foo.org/和http://ex.foo.org/)。
分享到:
评论

相关推荐

    heritrix 中文API (自己整理) 网络爬虫

    heritrix 中文API (自己整理),网络爬虫,只包含关键的类的介绍

    Heritrix3手册翻译

    Heritrix User Manual https://webarchive.jira.com/wiki/display/Heritrix/Heritrix3 Heritrix3(或简称H3)指Heritrix的3.0发布。 目前官方的Heritrix 3.0.0版已经发布(2009年12月)。 后续的发行H3将是3.0.1...

    在heritrix中使用pagerank算法

    文档中讲述了如何在heritrix中使用pagerank的算法。根据文章中内容很容易将pagerank算法添加到heritrix中去

    heritrix抓取的操作和扩展

    对heritrix抓取的操作和扩展 里面有MirrorWriterProcessor扩展的类文件修改

    Heritrix安装和配置流程

    Heritrix 是一款基于JAVA的开源的网络爬虫框架,亲自动手记录

    heritrix正确完整的配置heritrix正确完整的配置

    heritrix正确完整的配置heritrix正确完整的配置heritrix正确完整的配置heritrix正确完整的配置heritrix正确完整的配置

    Heritrix部署直接能运行的项目

    在预定的URI中选择一个。 2。获取URI 3。分析,归档结果 4。选择已经发现的感兴趣的URI。加入预定队列。 5。标记已经处理过的URI Heritrix主要有三大部件:范围部件,边界部件,处理器链 范围部件:主要按照...

    heritrix爬虫安装部署

    介绍了heritrix爬虫安装和部署,以及运行示例和常见错误

    heritrix-1.14.4.zip 和 heritrix-1.14.4-src.zip

    此文件中包括heritrix-1.14.4.zip和heritrix-1.14.4-src.zip 其中src是源码,已测试能够集成到eclipse中进行二次开发

    网络爬虫Heritrix1.14.4可直接用

    在/Heritrix1/src/org/archive/crawler/Heritrix.java启动之后,访问https://localhost:8089登录admin密码admin直接用

    Heritrix使用手册

    Heritrix 使用手册 全doc 文本

    heritrix源码

    heritrix学习源码和资料

    heritrix1.14.4源码包

    heritrix1.14.4的源码包,包含heritrix1.14.4.zip和heritrix...heritrix是一种开源的网络爬虫,用于爬去互联网中的网页。如何配置和使用heritrix爬虫,请移步:http://blog.csdn.net/kath_y/article/details/9385015

    Heritrix在Eclipse中的源文件

    Heritrix在Eclipse中的源文件。Heritrix1.14.4;Eclipse:helios。 在Eclipse中新建一个javaproject工程,将下载下来的。另附说明

    开发自己的搜索引擎 lucene + heritrix

    综合各项技术构建了一个典型的垂直搜索系统,具有很强的商业使用价值。

    Heritrix安装详细过程

    按照这个步骤安装绝对会让你安装成功的。步骤非常的清晰。Heritrix是一个不错的选择。网络爬虫,更快更好的帮你捕捉到你想要的网页

    web爬虫Heritrix.zip

    Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。 Heritrix是一个爬虫框架,其组织结构如图2.1所示,包含了整个组件和抓取流程:...

    Heritrix(windows版)

    包含: heritrix-3.1.0-dist.zip heritrix-3.1.0-src.zip 官网下载地址。

    heritrix系统使用.ppt

    heritrix系统使用、一个ppt 介绍heritrix的基本概念、以及原理知识

    heritrix-3.1.0 最新jar包

    heritrix-3.1.0 最新官网jar包。包括heritrix-3.1.0-dist.zip包与heritrix-3.1.0-src.zip包。是爬虫神器

Global site tag (gtag.js) - Google Analytics