2009-07-07 11 views
9

wikiのインストールを損なうことなく、新しい記事をMediaWikiデータベースに直接挿入する方法が必要です。MediaWikiデータベースに記事を直接挿入する

MediaWikiが新しい記事を作成するときに挿入する表や属性を知っていれば、自分で埋め込むことができます。

誰かが良い方法を知っているか、何か提案がありますか?

答えて

4

MediaWikiで利用できる多くのボットとAPIのうち、簡単な開始場所はMediaWiki Bulk Page creatorです。

これは、単純なテキスト形式の複数のページを作成できるSnoopyクラスライブラリに依存する、シンプルなPHPスクリプトです。

ご利用になる前に、まずCreating a Botとお読みください。 Wikiにボットアクセスを設定する方法に関する重要な情報が含まれています。 Special:Importを使用してSpecial:Export

インポートページと

+0

非常に役に立ちました。これを約30分でrssスクリプトで実行しています。ありがとう! –

1

なぜこれを行う必要がありますか?

  • 以前のWikiインストールからデータを移行しようとしている場合、すでにインポートとエクスポートのツールがあります。
  • 大量の事前フォーマット済みページの自動追加を自動化する場合は、MediaWiki APIがデータベースを直接操作するよりも安全なルートを提供します。
+0

が出て、それを確認してください。 これまで私が使ったことのないAPIを使用する方法についてはあまりよく分かりません。 APIを使用して複数のページを一度に作成できますか(ユーザーが選択した記事の数によって異なります) –

+0

'action = import'を使わずに1回の呼び出しで多くのページを作成できるのかどうかはわかりませんが、作成する新しいページごとに' action = edit'を複数回呼び出すことができます。 – ephemient

+0

おそらくcURLを使用してAPIに複数の呼び出しを送信できます。 編集トークンの使用方法や作成方法、投稿するユーザーを指定する方法がわかりません。そうでなければ、私は正しい道を歩いている。助けてくれてありがとう。 –

2

間違いなくデータベースに直接書き込む必要はありません。 RSSから選択したアイテムを入力として受け取り、Article::doEdit()を使用してアイテムごとに1つのwiki記事を作成する拡張機能を作成することができます。

1

エクスポートページ。インポートするには、 'インポート' user rightを持っている必要があります。

2

これはボットで行う必要があります。ボットはスタンドアロンで実行できますが、他のコードと統合している場合は、言語に基づいて選択することができます。 PHPの場合、MediaWiki Bulk Page Creatorがあります。 Pythonの場合、pymediawikiはPagefromfileです。

また、関連タスクを解決するExternal Dataと呼ばれる拡張子がYaron Korenであります。外部ソースのデータをwikiページに組み込むことができます。 URL、ローカルファイル、またはデータベースから取得したCSV、XMLまたはJSONから特定の要素を取り出すことができます。

5

私はバルクページクリエイターの著者です。まだ使用されているのが見てよかったです!

私の最新のMediaWikiインポートツールは、CSVデータファイルとページテンプレートからページを作成します。 Adrianが提案したようにMediawiki XML Importファイルを生成します。私は、ユーザーがウィキに追加する記事を選択することができ、そこから様々なRSSフィードのリストへのPHPスクリプトを書いています

Mediawiki CSV Import

+0

私は新しい記事の追加に関する多くのページを読みましたが、カテゴリについては、メディアウィキはカテゴリーツリーを別々に作成しますか?私は完全に異なるデータベースからメディアのwikiへの移行の第一歩はカテゴリを作成していると思いますか? – HPM

+0

また、そのWebサイトを実行しているコードをリリースしましたか? – guaka

関連する問題