Как указать собственные правила robots.txt для LWP :: RobotUA - PullRequest
0 голосов
/ 22 декабря 2011

Я написал скрипт для проверки своих сайтов с помощью LWP :: RobotUA.Я хотел бы избежать частых запросов на мой robots.txt.

Параметр rules для LWP :: RobotUA должен позволять мне указывать их, но я не понимаю, что следует передать для "allow all"страницы ".

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

Ответы [ 2 ]

1 голос
/ 22 декабря 2011

LWP :: RobotUA - это LWP :: UserAgent с добавленной поддержкой robots.txt. Если вы не хотите запрашивать robots.txt, просто используйте LWP :: UserAgent.

Либо подкласс LWP :: RobotUA переопределяет метод simple_request и удаляет robots.txt и обработку правил.

0 голосов
/ 22 декабря 2011

После дальнейших исследований, я думаю, что предполагаемый способ предоставить правила для роботов - это создать подкласс 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);
...