Это потому, что Википедия запрещает доступ к некоторым программам на основе User-Agent, предоставленного по запросу.
Вы можете использовать псевдоним для отображения в качестве «обычного» веб-браузера, установив агент после создания экземпляра и перед get()
, например:
$mech->agent( 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-us) AppleWebKit/533.17.8 (KHTML, like Gecko) Version/5.0.1 Safari/533.17.8' );
Это сработало для меня с URL в вашем сообщении. Более короткие строки, вероятно, тоже будут работать.
(Думаю, вам также следует удалить косую черту из URL.)
WWW :: Mechanize является подклассом LWP :: UserAgent - дополнительную информацию см. В документации, в том числе о методе agent()
.
Вы должны ограничить использование этого метода доступа. Википедия явно запрещает доступ некоторым паукам в их файле robots.txt . Пользовательский агент по умолчанию для LWP :: UserAgent (который начинается с libwww) находится в списке.