我寫了一個腳本來檢查我自己的網站與LWP :: RobotUA。我想避免經常請求我的robots.txt。如何指定自己的robots.txt規則LWP :: RobotUA
LWP :: RobotUA的規則參數應該允許我指定這些參數,但是我不會理解應該爲「允許所有頁面」傳遞的內容。
my $ua = LWP::RobotUA->new(agent=>'my-robot/0.1', from=>'[email protected]', rules=> ???);
我寫了一個腳本來檢查我自己的網站與LWP :: RobotUA。我想避免經常請求我的robots.txt。如何指定自己的robots.txt規則LWP :: RobotUA
LWP :: RobotUA的規則參數應該允許我指定這些參數,但是我不會理解應該爲「允許所有頁面」傳遞的內容。
my $ua = LWP::RobotUA->new(agent=>'my-robot/0.1', from=>'[email protected]', rules=> ???);
經過更多的研究,我認爲提供機器人規則的預期方式是通過繼承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=>'[email protected]', rules=>WWW::NoRules->new);
LWP :: RobotUA是LWP :: UserAgent,支持添加了robots.txt
。如果你不想要求robots.txt
,那麼就使用LWP :: UserAgent。
或者,子類LWP :: RobotUA並覆蓋simple_request
方法並去除robots.txt
和規則處理。