Wikimedia API поиск изображений с общедоступным фильтром
Я хотел бы запросить API Викимедиа, чтобы найти все изображения, содержащие ключевое слово, и отфильтровать только те изображения, которые являются общественным достоянием. Таким образом, нет дополнительной лицензии CC-SA.
В настоящее время я использую следующий запрос для извлечения изображений:
Но это верный возврат всех изображений независимо от их лицензии. Может быть, мне нужно изменить пространство имен, но я не знаю, где искать.
Спасибо
1 ответ
Хм, ваш текущий запрос API делает две совершенно разные вещи:
- получить первые 10 изображений со страницы Wikipedia: Public Domain - the
pages
результат, вы можете указать дополнительные свойства, чтобы получить для этого набора результатов - поиск в пространстве имен 6 по слову роз
К сожалению, вы не можете ограничить модуль поиска поиском только в некоторых категориях, вы можете ограничить его только одним пространством имен. Поэтому вам необходимо получить категории всех результатов поиска и отфильтровать их для изображений в категории "Общественное достояние" (и во всех ее подкатегориях). Запрос API будет выглядеть так
api.php?action=query&prop=
imageinfo
|
categories
&
generator
=search&gsrsearch=roses&gsrnamespace=6&format=json
Не забудьте продолжить запрос, если вы хотите, чтобы 10 изображений соответствовали критериям вашей категории, вам может потребоваться запросить (намного) больше, чем это.