2012-08-10 12 views
5

OpenSearchなどのWikipedia APIクエリやその他のAPIを使用して、いくつかのプロパティを持つ単純なページリストをクエリする必要があります。プロパティを持つWikipediaのページへのクエリ

入力:ページ(記事)のタイトルまたはIDのリスト。
出力:各次のプロパティが含まれているページの一覧:(OpenSearchのAPIのように)
ページID(OpenSearchのAPIのように)
タイトル
スニペット/説明
ページのURL
画像のURL

次のような結果が得られます。
http://en.wikipedia.org/w/api.php?action=opensearch&search=miles%20davis&limit=20&format=xml
ページIDのみで検索ではなく、タイトルまたはページIDによるページの正確なリスト。

これはかなりシンプルなことですが、MW apiマニュアルのすべての種類のURLを試してみるとかなりの時間がかかりました。

答えて

2

Open Search APIよりオープン検索データを取得する方法はありませんが、興味のあるWikipediaに応じて、他の拡張機能がインストールされている可能性があります。英語のWikipediaを例にとると、MobileFrontendPageImagesの拡張子を使用することができます。その場合、be installed thereになります。

  • タイトルURLは、ネイティブのMediaWiki APIから利用できます。 URLを取得するには、prop=infoを使用し、それはあなたが興味のあるURLあることinprop=urlで指定することができます。
  • ページの著名な画像prop=pageimagesによってPageImagesのおかげで返されます。
  • MobileFrontendあなたは最初の段落を取得するためにディレクティブexintroで使用できることを、extractsというプロパティを追加します。ただし、MediWikiのマークアップは複雑で、結果が必ずしも完全ではない場合があります。これを与える

http://en.wikipedia.org/w/api.php?action=query&pageids=21482&prop=pageimages|info|extracts&inprop=url&exintro

:ここ

<api> 
    <query> 
    <pages> 
     <page pageid="21482" ns="0" title="Nairobi" pageimage="Nairobi_Montage.jpg" contentmodel="wikitext" pagelanguage="en" touched="2014-02-06T06:10:01Z" lastrevid="594161616" counter="" length="89157" fullurl="http://en.wikipedia.org/wiki/Nairobi" editurl="http://en.wikipedia.org/w/index.php?title=Nairobi&amp;action=edit"> 
     <thumbnail source="http://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Nairobi_Montage.jpg/45px-Nairobi_Montage.jpg" width="45" height="50" /> 
     <extract xml:space="preserve"> 
      &lt;p&gt;&lt;b&gt;Nairobi&lt;/b&gt; /naɪˈroʊbi/ is the [...] 
     </extract> 
     </page> 
    </pages> 
    </query> 
</api> 
0

は、ウィキペディアのリストを取得するための多段階プロセスである私たちは1つのクエリですべて一緒にそれを置く場合、それはこのようなものになるだろう記事のページタイトルとプロパティ、ページIDとURLを取得します。

注意:以前の回答の一部を使用しています:"タイトルとURLはネイティブのMediaWiki APIから入手できます。このURLを取得するには、prop = infoを使用してinprop = urlあなたが興味を持っているURLです。"

自分のアプリケーションにWikipedia APIを使用してWikipediaで特定のトピックに関する記事のリストを検索し、その回答をJSON形式で取得したい場合は、次のURLを使用できます:
https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=REPLACE_ME_WITH_SEARCH_TOPIC&format=json&callback= ?

そして、あなたの目はトラブルとは結果を解析を行っている場合は、交換する「フォーマット= jsonの&コールバックを=?」それが簡単にあなたの目のために作るために、次の例のように「= 2 formatversion」と:
https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=REPLACE_ME_WITH_SEARCH_TOPIC&formatversion=2

次の例では、JSON形式の記事タイトルとプロパティについてのバッチリストを表示します。その後、結果のタイトルを使用してそれらの記事のページIDとURLを検索します。
URLステップ1:
https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=thailand&format=json&callback=?

ステップ1から、私は(ステップ2で、私は別のAPIクエリでステップ1で得られたこれらのタイトルを使用して、結果としてJSONの内側から、私は必要なタイトルのリストを取得することができますステップ2)結果のJSON ...ステップ2の結果でそれらの記事のページIDとURLを取得します。ここで

ステップ1の結果のJSONからWikipediaの記事のタイトルです:

  • タイ
  • タイ
  • の概要
  • タイ
  • の地理
  • タイ
  • の経済
  • タイのサッカー
  • 南タイ
  • ゴブタイ
  • のタイのタイのrnment
  • タイ北部
  • 文化が
  • シネマ

URLステップ2:
https://en.wikipedia.org/w/api.php?action=query&titles=Thailand|Outline%20of%20Thailand|Geography%20of%20Thailand|Economy%20of%20Thailand|Football%20in%20Thailand|Southern%20Thailand|Government%20of%20Thailand|Northern%20Thailand|Culture%20of%20Thailand|Cinema%20of%20Thailand&prop=info&inprop=url&format=json&callback=?

関連する問題