0

LWP::RobotUAを使用して自分のWebサイトをチェックするスクリプトを作成しました。robots.txtの頻繁なリクエストは避けたいと思います。

LWP :: RobotUAのrulesパラメーターでそれらを指定できるはずですが、「すべてのページを許可する」ために何を渡す必要があるのか​​わかりません。

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

2 に答える 2

1

LWP::RobotUAはrobots.txtサポートが追加されたLWP::UserAgentです。リクエストしたくない場合はrobots.txt、LWP::UserAgentを使用してください。

または、LWP :: RobotUAをサブクラス化し、simple_requestメソッドをオーバーライドしてrobots.txt、ルール処理を削除します。

于 2011-12-22T10:30:27.297 に答える
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);
于 2011-12-22T11:38:04.613 に答える