バックグラウンド
MediaWiki からすべてのページ/リビジョンの解析済みコンテンツ テキストを抽出したいとします。巨大な英語版ウィキペディアについて考えてみましょう。
これを行うには、必要なデータをダウンロードし、独自の MediaWiki インストールをセットアップし、ループを実行して次のように呼び出します。
http://localhost/mediawiki/api.php?uselang=en&format=xml&action=query&prop=extracts&exintro=&explaintext=&titles=
これは TextExtracts ( https://github.com/wikimedia/mediawiki-extensions-TextExtracts ) 拡張機能を使用します。これは実際には内部的に次のようなことを行います:
http://localhost/mediawiki/api.php?uselang=en&format=xml&action=parse&prop=text&title=
質問
今、私はMediaWiki のインストールを MySQL データベースと一緒に使用したくありません。しかし、MediaWiki XML データ ダンプ (巨大な英語の Wikipedia XML ダンプ - enwiki-latest-pages-articles.xml.bz2) を使用して説明したことだけを実行したいと考えています。この問題にどのようにアプローチできるかについてのアイデアはありますか?
呼び出すすべての解析ロジックと多くのものが MediaWiki PHP クラス内にあるように見えます。WikiPage->getContent
これらは密接に結合されているため、それらを取り出して (何週間も費やしたい場合を除きます)、ダンプで動作する独自のスクリプトを作成することはできません。 . これを可能にするスクリプトはありますか? 私の好みの言語は Java ですが、オプションも自由です。