13

特定のテンプレートを含む記事をウィキペディア API に照会することはできますか? ドキュメントには、検索結果をテンプレートを含むページにフィルターするアクションについては説明されていません。具体的には、を含むページを求めていますTemplate:Persondata。その後、openancestry.orgプロジェクトの系図データを入力するために、その特定のテンプレートだけを取得できるようにしたいと考えています。

以下のクエリは、Albert Einstein ページに Persondata テンプレートが含まれていることを示していますが、テンプレートのコンテンツは返されず、テンプレートを含むページ タイトルのリストを取得する方法もわかりません。 http://en.wikipedia.org/w/api.php?action=query&prop=templates&titles=Albert%20Einstein&tlcontinue=736|10|ParmPart

戻り値:

<api>
 <query>
  <pages>
   <page pageid="736" ns="0" title="Albert Einstein">
    <templates>
     ...
     <tl ns="10" title="Template:Persondata"/>
     ...
    </templates>
   </page>
  </pages>
 </query>
 <query-continue>
  <templates tlcontinue="736|10|Reflist"/>
 </query-continue>
</api>

API から必要なものを取得できないのではないかと思いますが、私が間違っていて、誰かがすでにこの道を切り開いていることを願っています。

4

3 に答える 3

7

クエリを使用してembeddedin、テンプレートを含むすべてのページを見つけることができます。

curl 'http://en.wikipedia.org/w/api.php?action=query&list=embeddedin&eititle=Template:Persondata&eilimit=5&format=xml'

それはあなたを得る:

<?xml version="1.0"?>
<api>
  <query>
    <embeddedin>
      <ei pageid="307" ns="0" title="Abraham Lincoln" />
      <ei pageid="308" ns="0" title="Aristotle" />
      <ei pageid="339" ns="0" title="Ayn Rand" />
      <ei pageid="340" ns="0" title="Alain Connes" />
      <ei pageid="344" ns="0" title="Allan Dwan" />
    </embeddedin>
  </query>
  <query-continue>
    <embeddedin eicontinue="10|Persondata|595" />
  </query-continue>
</api>

mediawiki.org で完全なドキュメントを参照してください。

embeddedin代わりにクエリを使用backlinks(テンプレートのインクルージョンは対象外)

于 2010-11-07T23:17:43.280 に答える
3

を使用embeddedinしても特定の人を検索することはできません。検索文字列はTemplate:Persondata.

ウィキペディアから人だけを取得するために私が見つけた最良の方法は、次を使用list=searchして検索を使用およびフィルタリングすることAND"Born"AND"Occupation"です。

http://en.wikipedia.org/w/api.php?action=query&list=search&srsearch="Tom Cruise"AND"Born"AND"Occupation"&format=jsonfm&srprop=snippet&srlimit=50`

ウィキペディアが使用している検索エンジンは、まだタイトルのみを検索することはできません。全文を検索します。これを利用して、より正確な結果を得ることができます。

于 2014-05-29T22:36:37.490 に答える
1

受け入れられた回答は、特定のテンプレートを使用してページを一覧表示する方法を説明していますが、テンプレートを使用してページを検索する必要がある場合は、hastemplate:検索キーワードを使用できます: https://en.wikipedia.org/w/api.php?action= query&list=search&srsearch=hastemplate:NPOV%20physics

于 2016-12-28T02:22:05.473 に答える