Потребител: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>