Outil:WPDumpExtraction
De Dbpedia.fr.
Script pour extraire des dumps xml d'articles wikipédia des pages vérifiant une expression régulière.
Usage
$ ./WPDumpExtraction.pl [expression régulière] [offset] [nbMax de Pages] [fichier source]
Dans le cas où [nbMax de Pages] est 0, il n'y a pas de limite du nombre de pages extraites.
Exemple
$ ./WPDumpExtraction.pl "<title>Modèle:" 1 5 frwiki-20120917-pages-articles-complete.xml > sortie.xml
Génère un fichier sortie.xml au même format que les dumps de Wikipédia contenant les 2ème, 3ème, ... et 6ème pages du fichier frwiki-20120917-pages-articles-complete.xml dont le title commence par "Modèle:" (la valeur de offset commence à 0).
Code
#!/usr/bin/perl
#
# Program to get M wikipage from the Nth that containts the EXPR pattern
if($#ARGV < 1)
{
print $#ARGV;
print "Missing arguments !\n\tusage : extractionPage EXPR N M file\nIf M is 0, then all the pages matching the pattern are extracted";
print $#ARGV;
exit 0;
}
$patern = $ARGV[0];
$offset = $ARGV[1];
$number = $ARGV[2];
$file = $ARGV[3];
#If $number=0, then there is no limit on the number of extracted pages
$isNbLimited=($number!=0);
#print "isNbLimited:$isNbLimited";
#open FILE, "<", $file or die $!; # Open the file
open(FILE, $file);
$/ = "</siteinfo>";
$entete = <FILE>;
print $entete;
$/ = "</page>";
mainLoop: while(($page = <FILE>))
{
if($isNbLimited && $number <= 0){
last mainLoop;
}
else{
if(($page =~ $patern) && $offset-- <= 0){
print $page . "\n";
$number--;
}
}
}
print "\n</mediawiki>";
close(FILE); # Close the file
- Dernière modification de cette page le 19 septembre 2012 à 14:51.
- Cette page a été consultée 667 fois.

