私はAPIにまったく慣れていないので、質問がばかげている場合は申し訳ありません.
Commons のカテゴリ内のすべての画像を取得したいと思います。たとえば、X としますが、別のカテゴリ (Y) にもある画像を除外します。私は実際にこれを行うことができるかどうかわかりません。
それらすべてを取得しますが、一部を除外するにはどうすればよいですか?
さらに、ファイルの名前だけでなく、画像の説明を結果に含めたいのですが、それは可能ですか?
私はAPIにまったく慣れていないので、質問がばかげている場合は申し訳ありません.
Commons のカテゴリ内のすべての画像を取得したいと思います。たとえば、X としますが、別のカテゴリ (Y) にもある画像を除外します。私は実際にこれを行うことができるかどうかわかりません。
それらすべてを取得しますが、一部を除外するにはどうすればよいですか?
さらに、ファイルの名前だけでなく、画像の説明を結果に含めたいのですが、それは可能ですか?
MediaWiki には、既定では、カテゴリの構築と交差のクエリに対するサポートが組み込まれていません。このタスクを実行するには、拡張機能、外部ツール、または複数の API クエリと結果処理が必要です。
ウィキメディア コモンズでは、ウィキメディア ウィキ ファーム全体と同様に、CirrusSearchは、カテゴリの交差の検索を含むフィルター検索を強化し、API ( action=query&list=search&srsearch=incategory:A+-incategory:B
、これはCategory:A
マイナス) からも利用できますCategory:B
。
私がお勧めできるツールの 1 つは (専用の高性能ソリューションであり、実際に実行されているため)、Daniel Schwen によって開発された fastcci です。特にウィキメディア コモンズについては、既にデータベースが維持されており、ウェブサービスが実行されていますが、ツール セットに実行するホストがあり、データベースにアクセスできる場合は、任意のウィキに設定することができます。
次のクエリ URL を検討してください。
https://fastcci.wmflabs.org/?c1=3302993&c2=15516712&d1=0&d2=0&s=200&a=not&t=js
t=js
JSONP 応答の場合。それ以外の場合は、websocket として使用されていることを前提としています)fastcciCallback( [ 'RESULT 27572680,0,0|1675043,0,0|27577015,0,0|27577043,0,0|27577106,0,0|27576896,0,0|27576790,0,0|23481936,0,0|17560964,0,0|11009066,0,0', 'OUTOF 10', 'DBAGE 378310', 'DONE'] );
RESULT
|
の形式の最大 50 個の整数トリプレットのリストが続きpageId,depth,tag
ます。各トリプレットは 1 つの画像またはカテゴリを表します
Good pictures
のボタンの横にある.
FilesOf('Category:Saaleck')
-FilesOf('Category:Rapeseed fields in Saxony-Anhalt')
GET
/w/api.php?action=query&pageids=page_IDs_separated_by_pipe
GET
/w/api.php?action=query&titles=Titles_separated_by_pipe
私の知る限り、API を使用して直接取得する方法はありません。ただし、両方のカテゴリがかなり小さいと仮定すると、両方からすべての画像を取得して、コードで補数を計算できます。
説明を取得するには、 を使用できますprop=imageinfo&iiprop=extmetadata&iiextmetadatafilter=ImageDescription
。
サンプル クエリのコンテキストでは、次のようになります。