Упражнение: Сравнение переводов Wikipedia

exercises projects

Выбрав статью на 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/.

Инструменты

Решение

wikipedia stats in GitHub

Author

Gabor Szabo (szabgab) Gabor Szabo