2009-03-19 18 views
6

Ho un progetto in cui raccolgo tutti gli articoli di Wikipedia appartenenti a una particolare categoria, estraggo la discarica da Wikipedia e la inserisco nel nostro db.Esiste un parser/modo disponibile per analizzare i file di dump di Wikipedia usando Python?

Quindi dovrei analizzare il file di dump di Wikipedia per fare il lavoro. Abbiamo un parser efficiente per fare questo lavoro? Sono uno sviluppatore Python. Quindi preferisco qualsiasi parser in python. Se non ne suggerisci uno, cercherò di scriverne una porta in python e contribuirò al web, così le altre persone ne faranno uso o almeno lo proveranno.

Quindi tutto ciò che voglio è un parser python per analizzare i file di dump di Wikipedia. Ho iniziato a scrivere un parser manuale che analizza ciascun nodo e ottiene il risultato.

risposta

1

Non so sulle licenze, ma this è implementato in pitone, e include la fonte.

1

Un altro buon modulo è mwlib da here - è un problema installare con tutte le dipendenze (almeno su Windows), ma funziona bene.

0

Wiki Parser è un parser molto veloce per i file di dump di Wikipedia (~ 2 ore per analizzare tutti i 55 GB di Wikipedia in inglese). Produce XML che preserva sia il contenuto che la struttura dell'articolo.

È quindi possibile utilizzare python per eseguire tutto ciò che si desidera con l'output XML.

0

Consiglio vivamente mwxml. È un'utilità per analizzare le discariche di Wikimedia scritte da Aaron Halfaker, uno scienziato ricercatore presso la fondazione Wikimedia. Può essere installato con

pip install mwxml 

utilizzo è abbastanza intuitivo come dimostrato da questo esempio dal 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 

Fa parte di un insieme più ampio di data analysis utilities messo fuori dalla Wikimedia Foundation e la sua comunità .

Problemi correlati