Wikipedia:Utilities-Wikistat
Da Wikipedia, l'enciclopedia libera.
Script Perl chiamato wikistat fa una statistica delle pagine presenti nel progetto, al fine di confutare critiche del tipo "ma sono tutte pagine di servizio o date di calendario".
I risultati sono stati pubblicati in Wikipedia:Ultime notizie.
Il progetto ufficiale utilizza come metodo, il conteggio degli articoli contententi almeno una virgola, limitatamente ai sottoprogetti che utilizzano il software UseModPerl.
Tutto questo era in uso fino al 20 dicembre 2003, ma anche dopo è utile. Statistiche adesso vengono calcolate in automatico: Speciale:Statistics e altre informazioni simil-statistiche si trovano in alcuni dei "servizi" offerti alla pagina Speciale:Specialpages.
Indice |
[modifica] Nota
Lo script per funzionare necessita di un programma (in questo caso wikirobot) che preleva il contenuto della pagine dal progetto. Lo scopo principale per il quale viene pubblicato lo script è quello di rendere noto il criterio con il quale si ottengono i dati pubblicati.
E prima ancora un programma (anche in questo caso si tratta di wikirobot) che fornisce l'elenco di tutte le voci.
[modifica] Autore e licenza
L'autore (Tomi), rilascia il sorgente sia con la GNU GPL che con la GNU FDL.
[modifica] Sorgente
#! /usr/bin/perl # wikistat $mywiki = 'scheggia/cgi-bin/it.wiki'; ########################################### # viene prelevato l'elenco di tutte le voci # richiede lo script "wikirobot" ########################################### @index = `wikirobot --index=$mywiki`; foreach (@index) { chomp; next unless $_; ++$nrdate and next if /^\d+$/ or /^Anni_\d+$/ or /^(|1|2|3)\d_(Gennaio|Febbraio|Marzo|Aprile|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre)$/ or /^(Gennaio|Febbraio|Marzo|Aprile|Maggio|Giugno|Luglio|Agosto|Settembre|Ottobre|Novembre|Dicembre)$/ ; ++$nrwiki and next if /wiki/i or /^HomePage/ or /^Benvenuto$/ or /^NPOV/ or /^Pagine_Di_Servizio/ or /^Redirect$/ or /^Stub$/ or /^Creare_E_Usare_Un_Redirect/ or /^RecentChanges/ ; ++$nrtalk and next if /\/Talk$/ or /\/Discussione$/ or /\/Commenti$/ or /\/Draft$/; ##################################################### # Viene prelevato il contenuto della pagina richiesta # richiede lo script "wikirobot" ##################################################### @testo = `wikirobot --mirror=$mywiki --topipe "$_"`; $primariga = $testo[0]; chomp($primariga); ++$nrvuoti and next if $primariga =~ /^\s*Describe the new page here/; ++$nrvuoti and next if $primariga =~ /^\s*$/; ++$nrredirect and next if $primariga =~ /^#REDIRECT +\[\[/; ++$nrmicro and next if length(join'',@testo)<50; # print $_ , substr($primariga,0,40),"\n"; ++$nrarticoli; } printf "Servizio= %4d\n", $nrwiki; printf "Talk = %4d\n", $nrtalk; printf "Vuoti = %4d\n", $nrvuoti; printf "Micro = %4d\n", $nrmicro; printf "Redirect= %4d\n", $nrredirect; printf "Date = %4d\n", $nrdate; printf "Articoli= %4d\n", $nrarticoli;