Потребител:Stanislav/Stat/скрипт
от Уикипедия, свободната енциклопедия
[редактиране] a.pl
<nowiki>
use LWP;
my %ns = (
'Медия:' => 0,
'Специални:' => 0,
'Беседа:' => 0,
'Потребител:' => 0,
'Потребител беседа:' => 0,
'Уикипедия:' => 0,
'Уикипедия беседа:' => 0,
'Картинка:' => 0,
'Картинка беседа:' => 0,
'МедияУики:' => 0,
'МедияУики беседа:' => 0,
'Шаблон:' => 0,
'Шаблон беседа:' => 0,
'Помощ:' => 0,
'Помощ беседа:' => 0,
'Категория:' => 0,
'Категория беседа:' => 0
);
my $mainns = 0;
my $total = 0;
my $wiki = "http://bg.wikipedia.org/w/index.php";
my $wprefx = "$wiki?title=Special:Contributions&limit=3600&target=";
my $url = $wprefx . @ARGV[0];
my $browser = LWP::UserAgent->new;
my $response = $browser->get($url, 'User-Agent' => 'Mozilla/4.76 [en] (Win98; U)');
die "Unable to get $url -- ", $response->status_line unless $response->is_success;
die "Wrong content type: ", $response->content_type unless $response->content_type eq 'text/html';
my $content = $response->content;
WHILE: while ($content =~ /<li>[0-9].*?title="([^"]*)"/gix) {
print "$1\n";
++$total;
foreach $namespace (keys %ns) {
if ($1 =~ /^$namespace/) {
++$ns{$namespace};
next WHILE;
}
}
++$mainns;
}
foreach $namespace (keys %ns) {
print "$namespace " . $ns{$namespace} . "\n";
}
print ": $mainns\nTOTAL: $total\n";
</nowiki>

