MediaWiki api для Википедии - возможен ли поиск по заголовку на ВСЕХ языках?

Я знаю, что для поиска идентификатора страницы википедии с известным заголовком я могу:

https://en.wikipedia.org/w/api.php?action=query&titles=7_Studios

Однако в этом случае 7_Studios - это статья из французской Википедии, поэтому ссылка выше не будет работать. Вместо этого мне нужно попробовать

https://fr.wikipedia.org/w/api.php?action=query&titles=7_Studios

У меня вопрос: если я не знаю, на каком языке написана статья, а знаю только название, как я могу убедиться, что я могу найти его с помощью api?


person Ziqi    schedule 12.03.2014    source источник
comment
Тебе нельзя. Разные языки находятся в разных установках вики. Однако вы можете запросить базу данных межвики-ссылок на викиданных.   -  person Bergi    schedule 12.03.2014


Ответы (1)


Как упоминал Берги, для этого вы можете использовать Wikidata: они содержат базу данных межвики-ссылок, так что возможна некоторая статья title там не будет, но большинство должно.

Для этого вы можете использовать модуль wbgetentities: вы указываете заголовок для поиска и список вики для поиска. Например:

https://www.wikidata.org/w/api.php?action=wbgetentities&titles=7_Studios&sites=enwiki|frwiki|nlwiki|dewiki

В одном запросе можно указать до 50 вики. В настоящее время существует около 300 Википедий, поэтому, если вам действительно нужно запросить все из них, вам может потребоваться до 6 запросов для каждого заголовка.

person svick    schedule 13.03.2014