2009-03-19 17 views
6

Belirli bir kategoriye ait tüm Wikipedia makalelerini topladığım, Wikipedia'dan çöpleri çıkardığım ve db'mize eklediğim bir projem var.Python kullanarak Wikipedia dökümü dosyalarını ayrıştırmak için kullanılabilir bir ayrıştırıcı/yol var mı?

Öğeleri tamamlamak için Wikipedia dökümü dosyasını ayrıştırmalıyım. Bu işi yapmak için verimli bir çözümleyicimiz var mı? Ben bir piton geliştiricisiyim. Bu yüzden python'da herhangi bir ayrıştırıcıyı tercih ederim. Eğer bir öneride bulunmuyorsa, python'da bir portunu yazıp web'e katkıda bulunmaya çalışacağım, bu yüzden başkaları bundan yararlanır ya da en azından bunu dener.

Tek istediğim, Wikipedia dökümü dosyalarını ayrıştırmak için bir python ayrıştırıcısı. Her bir düğümü ayrıştıran ve işlerin yapılmasını sağlayan bir el ile ayrıştırıcı yazmaya başladım.

cevap

1

aynı örneğin kuralı yoktur, ancak this piton uygulanan ve kaynak içerir. o (en azından Windows üzerinde) tüm bağımlılıkları ile yüklemek için bir acıdır, ama iyi çalışıyor -

1

başka iyi modül here den mwlib olduğunu.

0

Wiki Parser Vikipedi dökümü dosyaları için çok hızlı bir ayrıştırıcıdır (~ 2 saat ingilizce tüm 55 GB ayrıştırmak için). Hem içeriği hem de makale yapısını koruyan XML üretir.

XML çıktısıyla istediğiniz herhangi bir şeyi yapmak için python kullanabilirsiniz.

0

mwxml'u kesinlikle öneririm. Bu Wikimedia vakıf bir araştırma bilim adamı, Aaron Halfaker tarafından yazılmış Wikimedia çöplükleri ayrıştırmak için bir yardımcı programdır. documentation şu örneğe gösterdiği gibi

pip install mwxml 

Kullanımı ile kurulabilir oldukça sezgisel:

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

O Wikimedia Vakfı ve onun toplum tarafından söndürüldü data analysis utilities daha büyük bir kümesinin parçası olan .

İlgili konular