2009-03-19 5 views
6

Ich habe ein Projekt, wo ich alle Wikipedia-Artikel, die zu einer bestimmten Kategorie gehören, sammle, den Dump aus Wikipedia herausziehe und in unsere db lege.Gibt es einen Parser/Weg zum Parsen von Wikipedia-Dump-Dateien mit Python?

Also sollte ich die Wikipedia-Dump-Datei analysieren, um die Sachen zu erledigen. Haben wir einen effizienten Parser, um diese Aufgabe zu erledigen? Ich bin ein Python-Entwickler. Daher bevorzuge ich jeden Parser in Python. Wenn nicht vorschlagen, und ich werde versuchen, einen Port davon in Python zu schreiben und es ins Web zu bringen, so dass andere Personen davon Gebrauch machen oder es zumindest versuchen.

Also alles, was ich will, ist ein Python-Parser, um Wikipedia-Dump-Dateien zu analysieren. Ich habe angefangen, einen manuellen Parser zu schreiben, der jeden Knoten analysiert und alles erledigt.

Antwort

1

Ich weiß nicht, über die Lizenzierung, aber this ist in Python implementiert und enthält die Quelle.

1

Ein weiteres gutes Modul ist mwlib von here - es ist ein Schmerz, mit allen Abhängigkeiten zu installieren (zumindest unter Windows), aber es funktioniert gut.

0

Wiki Parser ist ein sehr schneller Parser für Wikipedia-Dump-Dateien (~ 2 Stunden, um alle 55 GB englischer Wikipedia zu parsen). Es erzeugt XML, das sowohl den Inhalt als auch die Artikelstruktur erhält.

Sie können dann Python verwenden, um mit der XML-Ausgabe alles zu tun, was Sie wollen.

0

Ich würde dringend empfehlen mwxml. Es ist ein Dienstprogramm zum Parsen von Wikimedia-Dumps, geschrieben von Aaron Halfaker, einem Wissenschaftler der Wikimedia Foundation. Es kann mit

pip install mwxml 

Verwendung installiert wird, ist ziemlich intuitiv wie dieses Beispiel aus den documentation demonstriert:

>>> 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 

Es ist Teil einer größeren Gruppe von data analysis utilities von der Wikimedia Foundation und ihrer Gemeinschaft ist löschte .

Verwandte Themen