Упражнение: Сравнение переводов Wikipedia
Выбрав статью на English Wikipedia, например про Perl, Python, Ruby, PHP, или JavaScript, сделайте программу, которая получит размер каждой переведенной версии этой статьи на все языки на Википедии.
Подсказки
Wikipedia предоставляет API для получения содержимого страницы в некотором формает. Так же есть более подробная документация об API, включая информацию о API::Properties.
Ссылки на языки есть тут - Wikidata.
Подсказки
Этот URL вернет содержимое страницы 'Perl' с английской версии Википедии в формате JSON:
https://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=json&titles=Perl
Этот адрес вернет список всех переводов для страницы с Q-id = Q42:
https://www.wikidata.org/w/api.php?action=wbgetentities&format=json&props=sitelinks&ids=Q42
Имея title (в нашем случае PHP), следующий URL вернет Q-id страницы:
https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&format=json&titles=PHP
Подсказки
Похоже, что есть 4 типа ссылок на языки, возвращаемые от Wikidata:
Простые ссылки на Википедии, которые заканчивается словами itwiki, newwiki, ил pdcwiki. Там может быть 2 или более символа. Реальный адрес URL это то же самое, но без последних 4 символов.
Ссылки с подчеркиванием типа zh_yuewiki, bat_smgwiki, или zh_min_nanwiki примерно такие же, но нужно заменить _ на -.
Ссылки Wikiquote. Например enwikiquote, которая значит https://en.wikiquote.org/.
Ссылки Wikibook, типа frwikibook которые значат https://fr.wikibooks.org/.
Инструменты
Решение

Published on 2016-03-27