2009-03-19 6 views
6

J'ai un projet où je collectionne tous les articles de Wikipédia appartenant à une catégorie particulière, je sors la dump de Wikipedia, et je la mets dans notre db.Y a-t-il un analyseur/moyen disponible pour analyser les fichiers de vidage Wikipedia en utilisant Python?

Donc, je devrais être en train d'analyser le fichier de vidage Wikipedia pour faire les choses. Avons-nous un analyseur efficace pour faire ce travail? Je suis un développeur python. Donc je préfère n'importe quel analyseur en python. Si vous n'en suggérez pas un, je vais essayer d'en écrire un port en python et de le mettre en ligne, afin que d'autres personnes s'en servent ou au moins l'essayent. Donc tout ce que je veux, c'est un analyseur python pour analyser les fichiers de vidage de Wikipédia. J'ai commencé à écrire un analyseur manuel qui analyse chaque nœud et fait le travail.

Répondre

1

Je ne sais pas sur les licences, mais this est mis en œuvre en python, et comprend la source.

1

Un autre bon module est mwlib de here - c'est une peine à installer avec toutes les dépendances (au moins sur Windows), mais cela fonctionne bien.

0

Wiki Parser est un analyseur très rapide pour les fichiers de vidage Wikipedia (~ 2 heures pour analyser tous les 55Go de Wikipedia anglais). Il produit du XML qui préserve le contenu et la structure de l'article.

Vous pouvez ensuite utiliser python pour faire ce que vous voulez avec la sortie XML.

0

Je recommande fortement mwxml. C'est un utilitaire pour l'analyse des dumps Wikimedia écrits par Aaron Halfaker, un chercheur de la fondation Wikimedia. Il peut être installé avec

pip install mwxml 

L'utilisation est assez intuitive comme le démontre cet exemple de la documentation:

>>> import mwxml 

>>> dump = mwxml.Dump.from_file(open("dump.xml")) 

>>> print(dump.site_info.name, dump.site_info.dbname) 
Wikipedia enwiki 

>>> for page in dump: 
...  for revision in page: 
...  print(revision.id) 
... 
1 
2 
3 

Il fait partie d'un ensemble plus vaste de data analysis utilities mis par la Wikimedia Foundation et de sa communauté .

Questions connexes