Получить все значения слова Википедии на любом языке
Я хотел бы получить список всех значений слова в Википедии. Например, для слова "bar" двусмысленности перечислены по адресу http://en.wikipedia.org/wiki/Bar_(disambiguation):
- Бар (учреждение)
- Десертный бар
- Дайв бар
- ...
Есть ли способ получить доступ к неоднозначности слов из разных языков из API Википедии?
Для английского языка, я думаю, URL в основном отформатированы, как указано выше (с неоднозначностью в заголовке). Но для испанского или других языков URL для страницы устранения неоднозначности отличается.
Я попытался просмотреть страницу категории, на которой перечислены все страницы устранения неоднозначности (например, http://en.wikipedia.org/w/index.php?title=Category:All_article_disambiguation_pages&pagefrom=a), но на нем нет списка неоднозначности для условий.
1 ответ
В большинстве (всех?) Выпусках Википедии теперь установлено расширение для устранения неоднозначности, что означает, что вы можете получить доступ ко всем страницам устранения неоднозначности из API:
api.php?action=query&list=querypage&qppage=DisambiguationPages
Однако в вики WMF, таких как Википедия, существует ограничение на количество результатов, которые вы можете получить таким образом, поэтому, если они вам нужны, вам нужно загрузить дамп базы данных и повторить запрос (в этом случае вы можете прочитать немного в таблице page_props, и сделайте SQL-запрос против этого).
Второй подход заключается в использовании WikiData и запросе всех страниц, которые являются экземпляром (P31) страницы неоднозначности Викимедиа (Q4167410).