Почему не может я выбирать страницы Википедии с LWP:: Простой?

@Override
public void onAttach(Activity activity) {
    // TODO Auto-generated method stub
    super.onAttach(activity);
    context=activity;
}
11
задан brian d foy 21 October 2009 в 10:29
поделиться

4 ответа

По-видимому, блоки Википедии LWP:: Простые запросы: http://www.perlmonks.org/?node_id=695886

Следующие работы вместо этого:

#!/usr/bin/perl
use strict;
use LWP::UserAgent;

my $url = "http://en.wikipedia.org/wiki/Stack_overflow";

my $ua = LWP::UserAgent->new();
my $res = $ua->get($url);

print $res->content;
18
ответ дан 3 December 2019 в 01:07
поделиться

Поскольку Википедия блокирует строку агента пользователя HTTP, используемую LWP:: Простой.

Вы получите "403, Запрещенные" - ответ, при попытке использовать его.

Попробуйте LWP:: модуль UserAgent для работы вокруг этого, устанавливая атрибут агента.

5
ответ дан 3 December 2019 в 01:07
поделиться

Можно также просто установить UA на LWP:: Простой модуль - просто импортирует переменную $ua, и это позволит Вам изменять базовый UserAgent:

use LWP::Simple qw/get $ua/;
$ua->agent("WikiBot/0.1");
print get("http://en.wikipedia.org/wiki/Stack_overflow");
12
ответ дан 3 December 2019 в 01:07
поделиться

Также посмотрите Mediawiki связанные модули CPAN - они разработаны для удара сайтов Mediawiki (которых Википедия - одна), и мог бы дать Вам больше дополнительных свойств, чем простой LWP.

http://cpan.uwinnipeg.ca/search?query=Mediawiki&mode=dist

5
ответ дан 3 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: