2013-08-01 44 views
1

沒有太大的成功,我一直在嘗試從某個類別的所有文章中檢索圖像(和摘錄)。Mediawiki API:從特定類別的文章中獲取圖像

下面是一個查詢從主頁面獲取圖像,但我還沒有找到特定類別的查詢。

api.php?action=query&prop=images&titles=Main%20Page 

使用搜索似乎更有希望,但仍然不是我所期待的。

api.php?action=query&list=search&format=jsonfm&srsearch=incategory:Marine_mammals 

如果第二個查詢提供了頁面ID,它可能是一個很好的起點。

回答

2

你想要的是使用categorymembers發生器,通過添加&generator=categorymembers&gcmtitle=Category%3AMarine_mammals代替&titles。由於我發現了生成器,所以我幾乎不記得使用API​​進行其他任何操作。我也建議堅持主空間。因此,例如,

https://en.wikipedia.org/w/api.php?action=query&prop=images&format=json&imlimit=10&generator=categorymembers&gcmtitle=Category%3AMarine_mammals&gcmnamespace=0&gcmlimit=50 

Gives

{ 「查詢 - 繼續」:{ 「圖像」:{ 「imcontinue」: 「60257 | Ursus_maritimus_4_1996-08-04.jpg」}, 「查詢」:{ 「頁面」:{ 「149269」:{ 「的pageid」:149269, 「NS」:0, 「稱號」: 「巴波」}, 「19289045」:{ 「的pageid」:19289045, 「NS」 :0,「title」:「Instituto Via Delphi」},「2178272」:{「pageid」:2178272,「ns」:0,「title」:「澳大利亞海洋哺乳動物列表」},「60257」:{ 「pageid」:60257,「ns」:0,「title」:「海洋哺乳動物」,「圖像」:[{「ns」:6,「title」:「File:Desmostylus2DB.jpg」},{「 :6,「title」:「File:Estuary-mouth.jpg」},{「ns」:6,「title」:「File:FL fig04.jpg」},{「ns」:6,「title」: 「文件:駝背鯨水下拍攝.jpg」},{「ns」 :6,「title」:「文件:Hydrurga leptonyx edit1.jpg」,{「ns」:6,「title」:「File:Maldivesfish2.jpg」},{「ns」:6,「title」:「文件:Oceanic whale pump - journal.pone.0013255.g001.tiff「},{」ns「:6,」title「:」File:PikiWiki Israel 15217 Dolphin.JPG「},{」ns「:6,」title 「:」File:Sea lion family.JPG「},{」ns「:6,」title「:」File:Sea otter cropped.jpg「}]},」36425597「:{」pageid「:36425597,」ns 「:0,」title「:」海洋哺乳動物作爲食物「},」3703749「:{」pageid「:3703749,」ns「:0,」title「:」海洋水獺「},」644379「:{」Pageid 「:644379,」ns「:0,」title「:」North Atlantic Marine Mammal Commission「},」1336536「 「567471」:{「pageid」:567471,「ns」:0,「title」:「海獺」},「2764345」:{「pageid」:2764345,「ns」:0,「title」 States Navy Marine Mammal Program「}}}}

相關問題