2011-09-14 4 views
4

誰かがページ内のテンプレートの本体にアクセスする方法を知っていますか?wikiテンプレートのコンテンツを取得するには?

私は、on the pageのすべてのテンプレートのリストを返すAPIに精通していますが、テンプレートの本体にどのようにアクセスできますか?このためのAPIはありますか?今のところ私は1つの可能な方法しか見ていません...手動で解析してください。私が間違っている?

答えて

6

expandtemplates API呼び出し、またはパラメータをrevisions API呼び出しに使用できます。

+0

と、「テンプレート:Infoboxライター」のコンテンツをhttp://en.wikipedia.org/wiki/William_Shakespeareページでどのように取得することができますか? –

+0

expandtemplates apiは、 'generatexml = 1'で呼び出されると、wikitextをすべてのテンプレート引数が別の葉であるXMLツリーに変換します。 – Tgr

+0

ありがとう!とった。まさに私が必要なものです。 –

2

これは古い質問ですが、テンプレートマクロを展開したmediawikiページを取得する方法を理解するのに役立ちました。変換を行っている場合は非常に便利です。

<MW_BASEURL>/api.php?action=query&prop=revisions 
    &titles=<url_encoded_page_title>&format=xml&rvprop=content&rvexpandtemplates 

このクエリから返されたxmlを解析して、展開されたページを取得しています。

+0

ありがとう! mediawikiの現在の実装は、テンプレートをうまく処理しません。私は彼らが次のバージョンでそれを修正できることを願っています。 –

関連する問題