2016-04-23 3 views
2

Wikipedia Infoboxで使用されているメインイメージをAPIからどのように取得するには?Wikipedia Infoboxで使用されているイメージを確実に取得するには?

This question has been asked beforeと受け入れられた回答はちょうど推測であることを認めています。後続の回答は、ハックのように見えますが、正しい画像を返しません。

たとえば、Jimi Hendrix Wikipediaのエントリでは、"File:Jimi Hendrix 1967.png"がInfoBoxのメインイメージとして使用されます。

更新された回答はusing this urlですが、Jimi Hendrix(とその他のトピック)では間違った画像が返されることがよくあります。

私がpull in all the imagesの場合、Infoboxで使用されている画像がどれかを判断する方法がありません。

答えて

3

各ウィキペディアのページ(例:Jimi Hendrix)は、ウィキデータ項目(Q5928)に関連付けられています。 Wikipediaの各記事の主な画像(通常はInfoboxのテンプレート内のもの)は、Wikidataの属性image (P18)によって保持されます。すべてのウィキペディアのテンプレートパラメータは非常にすぐにウィキデータに移動されますので、私はあなたがMediaWiki Wikidata API使用を開始することをお勧め:あなたは、他の多くの情報を取得します。このクエリでは

https://www.wikidata.org/w/api.php?action=wbgetentities&format=json&sites=enwiki&props=claims&titles=Jimi Hendrix 

を、しかし、主要記事のイメージ名:

{ 
    ... 
    "claims":{ 
     ... 
     "P18":[{ 
      "mainsnak":{ 
       "datavalue":{ 
        "value":"Jimi Hendrix 1967.png", 
       }, 
      }, 
     }], 
     ... 
    } 
} 

hereイメージURLの取得方法についても説明します。

+0

私はそれが動作すると思う... thx!この問合せで記事の最初の段落を返すとにかく、または2つのクエリを行う必要がありますか?私はできるだけ少ないAPI呼び出しをしたいと思います。 –

+0

WikiDataは事実のためのリポジトリですので、Wikipedia – leo

+1

@kristenをクエリする必要があります。この場合は、https://stackoverflow.com/questions/35663229/how-to-get-ウィキペディアのテキストとメインのイメージの短いスニペット - articles-by-a – Termininja

関連する問題