2009-03-19 3 views
6

私は特定のカテゴリに属する​​すべてのWikipedia記事を集め、Wikipediaからダンプを取り出し、それを私たちのデータベースに入れているプロジェクトを持っています。Pythonを使用してWikipediaのダンプファイルをパーサで解析するパーサー/ウェイがありますか?

だから私は、ものを成し遂げるためにWikipediaのダンプファイルを解析する必要があります。この仕事をするパーサーが効率的ですか?私はPython開発者です。だから私はPythonで任意のパーサーを好む。 1つを示唆していない場合は、私はPythonでそれのポートを書いて、それをWebに寄付しようとするので、他の人がそれを利用したり、少なくとも試してみてください。

だから私が望むすべては、Wikipediaのダンプファイルを解析するPythonのパーサです。私は、各ノードを解析してその作業を完了させる手動パーサーを作成し始めました。

答えて

1

で同じのコード例がありますが、thisはPythonで実装され、ソースが含まれています。

1

もう1つの良いモジュールはです.mwlibhere - すべての依存関係(少なくともWindowsでは)でインストールするのは苦痛ですが、うまくいきます。

0

Wiki Parserは(英語版ウィキペディアのすべての55ギガバイトを解析するために〜2時間)ファイルをダンプウィキペディアのための非常に高速なパーサーです。これは、コンテンツと記事構造の両方を保存するXMLを生成します。

次に、XML出力にしたい何かをするのpythonを使用することができます。

0

私は強くmwxmlをお勧めします。これは、ウィキメディア財団の研究者であるAaron Halfakerによって書かれたウィキメディアダンプを解析するためのユーティリティです。

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

それはウィキメディア財団やそのコミュニティで出しdata analysis utilitiesの大きなセットの一部である:それは

pip install mwxml 

使い方はdocumentationから、この例で示されているように、かなり直感的にインストールすることができます。

関連する問題