Как получить все ссылки и их идентификаторы Викиданных для страницы Википедии?

(Когда) будет ли возможно следующее?

  • получить список всех ссылок на странице Википедии с соответствующими идентификаторами Викиданных в одном запросе/вызове API.

  • получить дополнительную информацию о соответствующих элементах Викиданных, например, значение свойства с запросом.


person G. L. Merebet    schedule 07.05.2016    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что это не вопрос.   -  person Paul Collingwood    schedule 08.05.2016
comment
@PaulCollingwood, да, это вопрос, но GautamSavaliya его удалили (проверьте историю).   -  person Termininja    schedule 08.05.2016


Ответы (1)


Чтобы получить все ссылки на страницы Википедии, вы должны использовать API Википедии, а для получения всех свойств элемента Викиданных необходимо API Викиданных, поэтому невозможно создать один запрос с двумя запросами к обоим API. Но! Первая часть вашего вопроса уже возможна. А насчет второго... вы ничего не сказали для этого какая информация вам нужна из Викиданных.

Вы можете получить идентификаторы Викиданных и много другой информации для всех ссылок на страницы Википедии, например, координаты, ссылки, внутренние и внешние ссылки, изображения, текстовый контент, участников, историю, права на страницы, категории, шаблоны и т. д. Для этого мы может использовать только API Википедии, поскольку нашей точкой входа является страница Википедии, а также функция генератора API.

Например, так можно получить идентификатор Викиданных, краткий вводной текст и основное изображение для первых 20 интервики-ссылок на Dolphin. Страница Википедии:

https://en.wikipedia.org/w/api.php?action=query&generator=links&format=xml&redirects=1&titles=Dolphin&prop=pageprops|extracts|pageimages&gpllimit=20&ppprop=wikibase_item&exintro=1&exlimit=20&piprop=name&pilimit=20

Основные параметры запроса:

  • action=query&format=xml&redirects=1&titles=Dolphin
  • generator=links - чтобы получить все ссылки страницы (работает вместе с gpllimit=20)
  • prop=pageprops|extracts|pageimages - что брать по ссылкам

Свойства:

  • pageprops — для получения идентификатора Викиданных (работает с ppprop=wikibase_item)
  • извлечения - чтобы получить первые строки текста с этой страницы ( работает с exintro=1 и exlimit=20)
  • изображения страниц — для получения основного изображения (работает с piprop=name и pilimit=20)

Таким же образом вы можете получить и другую информацию, указанную здесь в параметр prop.

person Termininja    schedule 08.05.2016
comment
Спасибо за ваш ответ! Возможно ли с модификацией запроса получить свойство викиданных в дополнение к уже запрошенной информации, например. instance of (так что опять все в одном запросе)? - person G. L. Merebet; 09.05.2016
comment
Это два разных API, соответствующие двум разным базам данных. Интервики-ссылки находятся в статье Википедии, и API Викиданных не может получить к ним доступ, поскольку для них нет информации в Викиданных. Кроме того, свойства находятся в Викиданных и недоступны для API Википедии. - person Termininja; 09.05.2016