molybdenum-99 / infoboxer

Wikipedia information extraction library
MIT License
174 stars 16 forks source link

How to get language menu links of a page? #67

Closed phlegx closed 8 years ago

phlegx commented 8 years ago

How can I get the language menu items on left side of a wiki page?

Infoboxer.wikipedia.get('Area')...

Languages (left side menu on https://en.wikipedia.org/wiki/Area)

Адыгэбзэ
Afrikaans
Alemannisch
العربية
Aragonés
ܐܪܡܝܐ
অসমীয়া
Asturianu
Авар
Azərbaycanca
تۆرکجه
বাংলা
Bân-lâm-gú
Башҡортса
Беларуская
Беларуская (тарашкевіца)‎
भोजपुरी
Български
...
zverok commented 8 years ago

Unfortunately, this was not exposed in infoboxer still (I've planned to do this eventually). You can receive languages using underlying mediawiktory library, though, this requires understanding of MediaWiki API, which is pretty counter-intuitive.

With mediawiktory, the things go like this:

client = MediaWiktory::Client.new('https://en.wikipedia.org/w/api.php')
response = client.query.titles('Area').prop(langlinks: {prop: %i[url langname autonym], limit: 'max'}).perform
response.pages.first.langlinks.each {|l| puts "#{l.langname} -- #{l['*']}" }
# Afrikaans -- Oppervlakte
# Alemannisch -- Flächeninhalt
# Aragonese -- Aria
# Arabic -- مساحة
# Aramaic -- ܫܛܝܚܘܬܐ
# Assamese -- ক্ষেত্ৰফল
# Asturian -- Área (Xeometría)
# Avaric -- Площадь
# Azerbaijani -- Sahə (ölçü parametri)
#تۆرکجه -- اوز اؤلچ وم
# Bashkir -- Майҙан
# Bavarian -- Flächn
# Samogitian -- Pluots
# Belarusian -- Плошча
# беларуская (тарашкевіца)‎ -- Плошча
# Bulgarian -- Площ
#भ ोजपुरी -- क्षेत्रफल
# Bengali -- ক্ষেত্রফল
# Breton -- Gorread
# Bosnian -- Površina
# Catalan -- Àrea
# Min Dong Chinese -- Miêng-cék
# Chechen -- Майда
# Cebuano -- Langyab
# Central Kurdish -- ڕووبەر
# Czech -- Obsah
# Church Slavic -- Пространиѥ
# Chuvash -- Лаптăк
# Welsh -- Arwynebedd
# Danish -- Areal
# German -- Flächeninhalt
# Lower Sorbian -- Wopśimjeśe płoni
# Divehi -- އަކަމިން
# Greek -- Εμβαδόν
# Esperanto -- Areo
# Spanish -- Área
# Estonian -- Pindala
# Basque -- Azalera
# Persian -- مساحت
# Finnish -- Pinta-ala
# Võro -- Pindala
# Faroese -- Vídd
# French -- Aire (géométrie)
# Northern Frisian -- Areal (miat)
# Gan Chinese -- 面積
# Scottish Gaelic -- Farsaingeachd
# Galician -- Área
# Gujarati -- ક્ષેત્રફળ
# Manx -- Eaghtyr
# Hakka Chinese -- Mien-chit
# Hawaiian -- ʻAlea
# Hebrew -- שטח
# Hindi -- क्षेत्रफल
# Croatian -- Površina
# Upper Sorbian -- Wobsah přestrjenje
# Hungarian -- Terület (matematika)
# Armenian -- Մակերես
# Interlingua -- Area
# Indonesian -- Luas
# Iloko -- Kalawa
# Ido -- Areo
# Icelandic -- Flatarmál
# Italian -- Area
# Japanese -- 面積
# Javanese -- Jembar
# Georgian -- ფართობი
# Kabardian -- ЩIыпIэ инагъ
# Kazakh -- Aудан (геометрия)
# Khmer -- ក្រលាផ្ទៃ
# Kannada -- ವಿಸ್ತೀರ್ಣ
# Korean -- 넓이
# Kurdish -- Rûerd
# Latin -- Area (geometria)
# Luxembourgish -- Fläch
# Limburgish -- Oppervlak
# Lingala -- Etando
# Lao -- ເນື້ອທີ່
# Lithuanian -- Plotas
# Latvian -- Laukums
# Maithili -- क्षेत्रफल
# Malagasy -- Velarantany
# Eastern Mari -- Кумдык
# Macedonian -- Плоштина
# Malayalam -- വിസ്തീർണ്ണം
# Marathi -- क्षेत्रफळ
# Malay -- Keluasan
# Mirandese -- Ária
# Mazanderani -- گتی
# Low German -- Flach
# Low Saxon -- Oppervlakte
# Nepali -- क्षेत्रफल
# Dutch -- Oppervlakte
# Norwegian Nynorsk -- Flatevidd
# Norwegian -- Areal
# Occitan -- Aira
# Ossetic -- Фæзуат
# Punjabi -- ਖੇਤਰਫਲ
# Palatine German -- Fläche
# Polish -- Pole powierzchni
# Western Punjabi -- تھاں (جمیٹری)
# Portuguese -- Área
# Quechua -- Hallka k'iti k'anchar
# Romanian -- Arie
# Russian -- Площадь
# Sanskrit -- क्षेत्रफलम्
# Sicilian -- Ària (supirfici)
# Scots -- Aurie
# Serbo-Croatian -- Površina (geometrija)
# Simple English -- Area
# Slovak -- Plocha (útvar)
# Slovenian -- Površina
# Shona -- Nharaunda
# Somali -- Bed
# Albanian -- Sipërfaqja
# Serbian -- Површина
# Sundanese -- Aréa
# Swedish -- Area
# Swahili -- Eneo
# Silesian -- Plac rozlygowańo
# Tamil -- பரப்பளவு
# Telugu -- విస్తీర్ణము
# Tajik -- Масоҳат
# Thai -- พื้นที่
# Tagalog -- Sukat
# Turkish -- Alan
# Tatar -- Mäydan
# Ukrainian -- Площа
# Urdu -- رقبہ
# Uzbek -- Yuza
# Vietnamese -- Diện tích
# West Flemish -- Ippervlak
# Waray -- Kahaluag
# Wolof -- Yaatuwaay
# Wu Chinese -- 面积
# Mingrelian -- ფართობი
# Yiddish -- שטח
# Yoruba -- Ààlà
# Zeelandic -- Oppervlak
# Chinese -- 面积
# Chinese (Min Nan) -- Biān-chek
# Cantonese -- 面積
phlegx commented 8 years ago

Thank you @zverok! It works! :smile: