如何为LWP :: RobotA指定自己的robots.txt规则

时间:2011-12-22 09:52:04

标签: perl robots.txt lwp

我写了一个脚本,用LWP :: RobotUA检查我自己的网站。我想避免频繁请求我的robots.txt。

LWP :: RobotUA的规则参数应该允许我指定那些,但是我不知道应该为“允许所有页面”传递什么。

my $ua = LWP::RobotUA->new(agent=>'my-robot/0.1', from=>'me@foo.com', rules=> ??? );

2 个答案:

答案 0 :(得分:1)

LWP :: RobotUA是LWP :: UserAgent,添加了robots.txt支持。如果您不想请求robots.txt,那么只需使用LWP :: UserAgent。

或者,子类LWP :: RobotUA并覆盖simple_request方法并删除robots.txt和规则处理。

答案 1 :(得分:0)

经过更多的研究,我认为提供机器人规则的目的是通过子类化WWW :: RobotRules。

{
    package WWW::NoRules;
    use vars qw(@ISA);
    use WWW::RobotRules;
    @ISA = qw(WWW::RobotRules::InCore);

    sub allowed {
        return 1;
    }
}

my $ua = LWP::RobotUA->new(agent=>'my-robot/0.1', from=>'me@foo.com', rules=>WWW::NoRules->new);