LWP::RobotUAを使用して自分のWebサイトをチェックするスクリプトを作成しました。robots.txtの頻繁なリクエストは避けたいと思います。
LWP :: RobotUAのrulesパラメーターでそれらを指定できるはずですが、「すべてのページを許可する」ために何を渡す必要があるのかわかりません。
my $ua = LWP::RobotUA->new(agent=>'my-robot/0.1', from=>'me@foo.com', rules=> ??? );
LWP::RobotUAを使用して自分のWebサイトをチェックするスクリプトを作成しました。robots.txtの頻繁なリクエストは避けたいと思います。
LWP :: RobotUAのrulesパラメーターでそれらを指定できるはずですが、「すべてのページを許可する」ために何を渡す必要があるのかわかりません。
my $ua = LWP::RobotUA->new(agent=>'my-robot/0.1', from=>'me@foo.com', rules=> ??? );
LWP::RobotUAはrobots.txt
サポートが追加されたLWP::UserAgentです。リクエストしたくない場合はrobots.txt
、LWP::UserAgentを使用してください。
または、LWP :: RobotUAをサブクラス化し、simple_request
メソッドをオーバーライドしてrobots.txt
、ルール処理を削除します。
さらに調査した結果、ロボットのルールを提供するための意図された方法は、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);