# This Python file uses the following encoding: utf-8
from bs4 import BeautifulSoup
import requests
import re

wiki_list = [
  # more than 1,000,000 pages
  ('//de.wikipedia.org/', 'de', 'Deutsch'),
  ('//en.wikipedia.org/', 'en', 'English'),
  ('//es.wikipedia.org/', 'es', 'Español'),
  ('//fr.wikipedia.org/', 'fr', 'Français'),
  ('//it.wikipedia.org/', 'it', 'Italiano'),
  ('//nl.wikipedia.org/', 'nl', 'Nederlands'),
  ('//ja.wikipedia.org/', 'ja', '日本語'),
  ('//pl.wikipedia.org/', 'pl', 'Polski'),
  ('//ru.wikipedia.org/', 'ru', 'Русский'),
  ('//ceb.wikipedia.org/', 'ceb', 'Sinugboanong Binisaya'),
  ('//sv.wikipedia.org/', 'sv', 'Svenska'),
  ('//vi.wikipedia.org/', 'vi', 'Tiếng Việt'),
  ('//war.wikipedia.org/', 'war', 'Winaray'),
  # more than 100,000 pages
  ('//ar.wikipedia.org/', 'ar', 'العربية</bdi>'),
  ('//az.wikipedia.org/', 'az', 'Azərbaycanca'),
  ('//bg.wikipedia.org/', 'bg', 'Български'),
  ('//zh-min-nan.wikipedia.org/', 'nan', 'Bân-lâm-gú / Hō-ló-oē'),
  ('//be.wikipedia.org/', 'be', 'Беларуская (Акадэмічная)'),
  ('//ca.wikipedia.org/', 'ca', 'Català'),
  ('//cs.wikipedia.org/', 'cs', 'Čeština'),
  ('//da.wikipedia.org/', 'da', 'Dansk'),
  ('//et.wikipedia.org/', 'et', 'Eesti'),
  ('//el.wikipedia.org/', 'el', 'Ελληνικά'),
  ('//eo.wikipedia.org/', 'eo', 'Esperanto'),
  ('//eu.wikipedia.org/', 'eu', 'Euskara'),
  ('//fa.wikipedia.org/', 'fa', 'فارسی</bdi>'),
  ('//gl.wikipedia.org/', 'gl', 'Galego'),
  ('//ko.wikipedia.org/', 'ko', '한국어'),
  ('//hy.wikipedia.org/', 'hy', 'Հայերեն'),
  ('//hi.wikipedia.org/', 'hi', 'हिन्दी'),
  ('//hr.wikipedia.org/', 'hr', 'Hrvatski'),
  ('//id.wikipedia.org/', 'id', 'Bahasa Indonesia'),
  ('//he.wikipedia.org/', 'he', 'עברית</bdi>'),
  ('//ka.wikipedia.org/', 'ka', 'ქართული'),
  ('//la.wikipedia.org/', 'la', 'Latina'),
  ('//lt.wikipedia.org/', 'lt', 'Lietuvių'),
  ('//hu.wikipedia.org/', 'hu', 'Magyar'),
  ('//ms.wikipedia.org/', 'ms', 'Bahasa Melayu'),
  ('//min.wikipedia.org/', 'min', 'Bahaso Minangkabau'),
  ('//no.wikipedia.org/', 'nb', 'Bokmål'),
  ('//nn.wikipedia.org/', 'nn', 'Nynorsk'),
  ('//ce.wikipedia.org/', 'ce', 'Нохчийн'),
  ('//uz.wikipedia.org/', 'uz', 'Oʻzbekcha / Ўзбекча'),
  ('//pt.wikipedia.org/', 'pt', 'Português'),
  ('//kk.wikipedia.org/', 'kk', 'Қазақша / Qazaqşa / قازاقشا'),
  ('//ro.wikipedia.org/', 'ro', 'Română'),
  ('//sk.wikipedia.org/', 'sk', 'Slovenčina'),
  ('//sl.wikipedia.org/', 'sl', 'Slovenščina'),
  ('//sr.wikipedia.org/', 'sr', 'Српски / Srpski'),
  ('//sh.wikipedia.org/', 'sh', 'Srpskohrvatski / Српскохрватски'),
  ('//fi.wikipedia.org/', 'fi', 'Suomi'),
  ('//th.wikipedia.org/', 'th', 'ภาษาไทย'),
  ('//tr.wikipedia.org/', 'tr', 'Türkçe'),
  ('//uk.wikipedia.org/', 'uk', 'Українська'),
  ('//ur.wikipedia.org/', 'ur', 'اردو</bdi>'),
  ('//vo.wikipedia.org/', 'vo', 'Volapük'),
  ('//zh.wikipedia.org/', 'zh', '中文'),
  # more than 10,000 pages
  ('//af.wikipedia.org/', 'af', 'Afrikaans'),
  ('//als.wikipedia.org/', 'gsw', 'Alemannisch'),
  ('//am.wikipedia.org/', 'am', 'አማርኛ'),
  ('//an.wikipedia.org/', 'an', 'Aragonés'),
  ('//ast.wikipedia.org/', 'ast', 'Asturianu'),
  ('//bn.wikipedia.org/', 'bn', 'বাংলা'),
  ('//map-bms.wikipedia.org/', 'map-x-bms', 'Basa Banyumasan'),
  ('//ba.wikipedia.org/', 'ba', 'Башҡортса'),
  ('//be-tarask.wikipedia.org/', 'be', 'Беларуская (Тарашкевіца)'),
  ('//bpy.wikipedia.org/', 'bpy', 'বিষ্ণুপ্রিয়া মণিপুরী'),
  ('//bar.wikipedia.org/', 'bar', 'Boarisch'),
  ('//bs.wikipedia.org/', 'bs', 'Bosanski'),
  ('//br.wikipedia.org/', 'br', 'Brezhoneg'),
  ('//cv.wikipedia.org/', 'cv', 'Чӑвашла'),
  ('//cy.wikipedia.org/', 'cy', 'Cymraeg'),
  ('//fo.wikipedia.org/', 'fo', 'Føroyskt'),
  ('//fy.wikipedia.org/', 'fy', 'Frysk'),
  ('//ga.wikipedia.org/', 'ga', 'Gaeilge'),
  ('//gd.wikipedia.org/', 'gd', 'Gàidhlig'),
  ('//gu.wikipedia.org/', 'gu', 'ગુજરાતી'),
  ('//hsb.wikipedia.org/', 'hsb', 'Hornjoserbsce'),
  ('//io.wikipedia.org/', 'io', 'Ido'),
  ('//ia.wikipedia.org/', 'ia', 'Interlingua'),
  ('//os.wikipedia.org/', 'os', 'Ирон æвзаг'),
  ('//is.wikipedia.org/', 'is', 'Íslenska'),
  ('//jv.wikipedia.org/', 'jv', 'Basa Jawa'),
  ('//kn.wikipedia.org/', 'kn', 'ಕನ್ನಡ'),
  ('//ht.wikipedia.org/', 'ht', 'Kreyòl Ayisyen'),
  ('//ku.wikipedia.org/', 'ku', 'Kurdî / كوردی'),
  ('//ckb.wikipedia.org/', 'ckb', 'کوردیی ناوەندی'),
  ('//ky.wikipedia.org/', 'ky', 'Кыргызча'),
  ('//mrj.wikipedia.org/', 'mjr', 'Кырык Мары'),
  ('//lv.wikipedia.org/', 'lv', 'Latviešu'),
  ('//lb.wikipedia.org/', 'lb', 'Lëtzebuergesch'),
  ('//li.wikipedia.org/', 'li', 'Limburgs'),
  ('//lmo.wikipedia.org/', 'lmo', 'Lumbaart'),
  ('//mk.wikipedia.org/', 'mk', 'Македонски'),
  ('//mg.wikipedia.org/', 'mg', 'Malagasy'),
  ('//ml.wikipedia.org/', 'ml', 'മലയാളം'),
  ('//mr.wikipedia.org/', 'mr', 'मराठी'),
  ('//arz.wikipedia.org/', 'arz', 'مصرى</bdi>'),
  ('//mzn.wikipedia.org/', 'mzn', 'مازِرونی</bdi>'),
  ('//mn.wikipedia.org/', 'mn', 'Монгол'),
  ('//my.wikipedia.org/', 'my', 'မြန်မာဘာသာ'),
  ('//nah.wikipedia.org/', 'nah', 'Nāhuatlahtōlli'),
  ('//new.wikipedia.org/', 'new', 'नेपाल भाषा'),
  ('//ne.wikipedia.org/', 'ne', 'नेपाली'),
  ('//nap.wikipedia.org/', 'nap', 'Nnapulitano'),
  ('//oc.wikipedia.org/', 'oc', 'Occitan'),
  ('//or.wikipedia.org/', 'or', 'ଓଡି଼ଆ'),
  ('//pa.wikipedia.org/', 'pa', 'ਪੰਜਾਬੀ (ਗੁਰਮੁਖੀ)'),
  ('//pnb.wikipedia.org/', 'pnb', 'پنجابی (شاہ مکھی)</bdi>'),
  ('//pms.wikipedia.org/', 'pms', 'Piemontèis'),
  ('//nds.wikipedia.org/', 'nds', 'Plattdüütsch'),
  ('//qu.wikipedia.org/', 'qu', 'Runa Simi'),
  ('//sa.wikipedia.org/', 'sa', 'संस्कृतम्'),
  ('//sah.wikipedia.org/', 'sah', 'Саха Тыла'),
  ('//sco.wikipedia.org/', 'sco', 'Scots'),
  ('//sq.wikipedia.org/', 'sq', 'Shqip'),
  ('//scn.wikipedia.org/', 'scn', 'Sicilianu'),
  ('//si.wikipedia.org/', 'si', 'සිංහල'),
  ('//su.wikipedia.org/', 'su', 'Basa Sunda'),
  ('//sw.wikipedia.org/', 'sw', 'Kiswahili'),
  ('//tl.wikipedia.org/', 'tl', 'Tagalog'),
  ('//ta.wikipedia.org/', 'ta', 'தமிழ்'),
  ('//tt.wikipedia.org/', 'tt', 'Татарча / Tatarça'),
  ('//te.wikipedia.org/', 'te', 'తెలుగు'),
  ('//tg.wikipedia.org/', 'tg', 'Тоҷикӣ'),
  ('//bug.wikipedia.org/', 'bug', 'ᨅᨔ ᨕᨙᨁᨗ / Basa Ugi'),
  ('//vec.wikipedia.org/', 'vec', 'Vèneto'),
  ('//wa.wikipedia.org/', 'wa', 'Walon'),
  ('//yi.wikipedia.org/', 'yi', 'ייִדיש</bdi>'),
  ('//yo.wikipedia.org/', 'yo', 'Yorùbá'),
  ('//zh-yue.wikipedia.org/', 'yue', '粵語'),
  ('//bat-smg.wikipedia.org/', 'sgs', 'Žemaitėška'),
  # more than 1,000 pages
  ('//ace.wikipedia.org/', 'ace', 'Bahsa Acèh'),
  ('//kbd.wikipedia.org/', 'kbd', 'Адыгэбзэ'),
  ('//ang.wikipedia.org/', 'ang', 'Ænglisc'),
  ('//roa-rup.wikipedia.org/', 'roa-rup', 'Armãneashce'),
  ('//frp.wikipedia.org/', 'frp', 'Arpitan'),
  ('//arc.wikipedia.org/', 'arc', 'ܐܬܘܪܝܐ</bdi>'),
  ('//gn.wikipedia.org/', 'gn', 'Avañe’ẽ'),
  ('//av.wikipedia.org/', 'av', 'Авар'),
  ('//ay.wikipedia.org/', 'ay', 'Aymar'),
  ('//bjn.wikipedia.org/', 'bjn', 'Bahasa Banjar'),
  ('//bh.wikipedia.org/', 'bh', 'भोजपुरी'),
  ('//bcl.wikipedia.org/', 'bcl', 'Bikol Central'),
  ('//bo.wikipedia.org/', 'bo', 'བོད་ཡིག'),
  ('//bxr.wikipedia.org/', 'bxr', 'Буряад'),
  ('//cbk-zam.wikipedia.org/', 'cbk-x-zam', 'Chavacano de Zamboanga'),
  ('//co.wikipedia.org/', 'co', 'Corsu'),
  ('//za.wikipedia.org/', 'za', 'Cuengh'),
  ('//pdc.wikipedia.org/', 'pdc', 'Deitsch'),
  ('//dv.wikipedia.org/', 'dv', 'ދިވެހިބަސް</bdi>'),
  ('//nv.wikipedia.org/', 'nv', 'Diné Bizaad'),
  ('//dsb.wikipedia.org/', 'dsb', 'Dolnoserbski'),
  ('//eml.wikipedia.org/', 'roa-x-eml', 'Emigliàn–Rumagnòl'),
  ('//myv.wikipedia.org/', 'myv', 'Эрзянь'),
  ('//ext.wikipedia.org/', 'ext', 'Estremeñu'),
  ('//hif.wikipedia.org/', 'hif', 'Fiji Hindi'),
  ('//fur.wikipedia.org/', 'fur', 'Furlan'),
  ('//gv.wikipedia.org/', 'gv', 'Gaelg'),
  ('//gag.wikipedia.org/', 'gag', 'Gagauz'),
  ('//glk.wikipedia.org/', 'glk', 'گیلکی</bdi>'),
  ('//gan.wikipedia.org/', 'gan', '贛語'),
  ('//hak.wikipedia.org/', 'hak', 'Hak-kâ-fa / 客家話'),
  ('//xal.wikipedia.org/', 'xal', 'Хальмг'),
  ('//ha.wikipedia.org/', 'ha', 'Hausa / هَوُسَا'),
  ('//haw.wikipedia.org/', 'haw', 'ʻŌlelo Hawaiʻi'),
  ('//ig.wikipedia.org/', 'ig', 'Igbo'),
  ('//ilo.wikipedia.org/', 'ilo', 'Ilokano'),
  ('//ie.wikipedia.org/', 'ie', 'Interlingue'),
  ('//kl.wikipedia.org/', 'kl', 'Kalaallisut'),
  ('//pam.wikipedia.org/', 'pam', 'Kapampangan'),
  ('//csb.wikipedia.org/', 'csb', 'Kaszëbsczi'),
  ('//kw.wikipedia.org/', 'kw', 'Kernewek'),
  ('//km.wikipedia.org/', 'km', 'ភាសាខ្មែរ'),
  ('//rw.wikipedia.org/', 'rw', 'Kinyarwanda'),
  ('//kv.wikipedia.org/', 'kv', 'Коми'),
  ('//kg.wikipedia.org/', 'kg', 'Kongo'),
  ('//gom.wikipedia.org/', 'gom', 'कोंकणी / Konknni'),
  ('//lo.wikipedia.org/', 'lo', 'ພາສາລາວ'),
  ('//lad.wikipedia.org/', 'lad', 'Dzhudezmo / לאדינו'),
  ('//lbe.wikipedia.org/', 'lbe', 'Лакку'),
  ('//lez.wikipedia.org/', 'lez', 'Лезги'),
  ('//lij.wikipedia.org/', 'lij', 'Líguru'),
  ('//ln.wikipedia.org/', 'ln', 'Lingála'),
  ('//jbo.wikipedia.org/', 'jbo', 'lojban'),
  ('//lrc.wikipedia.org/', 'lrc', 'لۊری شومالی'),
  ('//mai.wikipedia.org/', 'mai', 'मैथिली'),
  ('//mt.wikipedia.org/', 'mt', 'Malti'),
  ('//zh-classical.wikipedia.org/', 'zh_classical', '文言'),
  ('//ty.wikipedia.org/', 'ty', 'Reo Mā’ohi'),
  ('//mi.wikipedia.org/', 'mi', 'Māori'),
  ('//xmf.wikipedia.org/', 'xmf', 'მარგალური'),
  ('//cdo.wikipedia.org/', 'cdo', 'Mìng-dĕ̤ng-ngṳ̄'),
  ('//mwl.wikipedia.org/', 'mwl', 'Mirandés'),
  ('//mdf.wikipedia.org/', 'mdf', 'Мокшень'),
  ('//na.wikipedia.org/', 'na', 'Dorerin Naoero'),
  ('//nds-nl.wikipedia.org/', 'nds-nl', 'Nedersaksisch'),
  ('//frr.wikipedia.org/', 'frr', 'Nordfriisk'),
  ('//nrm.wikipedia.org/', 'roa-x-nrm', 'Nouormand / Normaund'),
  ('//nov.wikipedia.org/', 'nov', 'Novial'),
  ('//mhr.wikipedia.org/', 'mhr', 'Олык Марий'),
  ('//as.wikipedia.org/', 'as', 'অসমীযা়'),
  ('//pi.wikipedia.org/', 'pi', 'पाऴि'),
  ('//pag.wikipedia.org/', 'pag', 'Pangasinán'),
  ('//pap.wikipedia.org/', 'pap', 'Papiamentu'),
  ('//ps.wikipedia.org/', 'ps', 'پښتو</bdi>'),
  ('//koi.wikipedia.org/', 'koi', 'Перем Коми'),
  ('//pfl.wikipedia.org/', 'pfl', 'Pfälzisch'),
  ('//pcd.wikipedia.org/', 'pcd', 'Picard'),
  ('//krc.wikipedia.org/', 'krc', 'Къарачай–Малкъар'),
  ('//kaa.wikipedia.org/', 'kaa', 'Qaraqalpaqsha'),
  ('//crh.wikipedia.org/', 'crh', 'Qırımtatarca'),
  ('//ksh.wikipedia.org/', 'ksh', 'Ripoarisch'),
  ('//rm.wikipedia.org/', 'rm', 'Rumantsch'),
  ('//rue.wikipedia.org/', 'rue', 'Русиньскый Язык'),
  ('//se.wikipedia.org/', 'se', 'Sámegiella'),
  ('//sc.wikipedia.org/', 'sc', 'Sardu'),
  ('//stq.wikipedia.org/', 'stq', 'Seeltersk'),
  ('//nso.wikipedia.org/', 'nso', 'Sesotho sa Leboa'),
  ('//sn.wikipedia.org/', 'sn', 'ChiShona'),
  ('//sd.wikipedia.org/', 'sd', 'سنڌي</bdi>'),
  ('//szl.wikipedia.org/', 'szl', 'Ślůnski'),
  ('//so.wikipedia.org/', 'so', 'Soomaaliga'),
  ('//srn.wikipedia.org/', 'srn', 'Sranantongo'),
  ('//kab.wikipedia.org/', 'kab', 'Taqbaylit'),
  ('//roa-tara.wikipedia.org/', 'roa', 'Tarandíne'),
  ('//tet.wikipedia.org/', 'tet', 'Tetun'),
  ('//tpi.wikipedia.org/', 'tpi', 'Tok Pisin'),
  ('//to.wikipedia.org/', 'to', 'faka Tonga'),
  ('//azb.wikipedia.org/', 'azb', 'تۆرکجه</bdi>'),
  ('//tk.wikipedia.org/', 'tk', 'Türkmençe'),
  ('//tyv.wikipedia.org/', 'tyv', 'Тыва дыл'),
  ('//udm.wikipedia.org/', 'udm', 'Удмурт'),
  ('//ug.wikipedia.org/', 'ug', 'ئۇيغۇرچه</bdi>'),
  ('//vep.wikipedia.org/', 'vep', 'Vepsän'),
  ('//fiu-vro.wikipedia.org/', 'fiu-vro', 'Võro'),
  ('//vls.wikipedia.org/', 'vls', 'West-Vlams'),
  ('//wo.wikipedia.org/', 'wo', 'Wolof'),
  ('//wuu.wikipedia.org/', 'wuu', '吳語'),
  ('//diq.wikipedia.org/', 'diq', 'Zazaki'),
  ('//zea.wikipedia.org/', 'zea', 'Zeêuws'),
  # more than 100 pages
  ('//ak.wikipedia.org/', 'ak', 'Akan'),
  ('//ab.wikipedia.org/', 'ab', 'Аҧсуа'),
  ('//bm.wikipedia.org/', 'bm', 'Bamanankan'),
  ('//bi.wikipedia.org/', 'bi', 'Bislama'),
  ('//ch.wikipedia.org/', 'ch', 'Chamoru'),
  ('//ny.wikipedia.org/', 'ny', 'Chichewa'),
  ('//ee.wikipedia.org/', 'ee', 'Eʋegbe'),
  ('//ff.wikipedia.org/', 'ff', 'Fulfulde'),
  ('//ki.wikipedia.org/', 'ki', 'Gĩkũyũ'),
  ('//got.wikipedia.org/', 'got', '𐌲𐌿𐍄𐌹𐍃𐌺'),
  ('//iu.wikipedia.org/', 'iu', 'ᐃᓄᒃᑎᑐᑦ / Inuktitut'),
  ('//ik.wikipedia.org/', 'ik', 'Iñupiak'),
  ('//ks.wikipedia.org/', 'ks', 'كشميري</bdi>'),
  ('//ltg.wikipedia.org/', 'ltg', 'Latgaļu'),
  ('//lg.wikipedia.org/', 'lg', 'Luganda'),
  ('//mo.wikipedia.org/', 'ro-Cyrl', 'Молдовеняскэ'),
  ('//fj.wikipedia.org/', 'fj', 'Na Vosa Vaka-Viti'),
  ('//pih.wikipedia.org/', 'pih', 'Norfuk / Pitkern'),
  ('//om.wikipedia.org/', 'om', 'Afaan Oromoo'),
  ('//pnt.wikipedia.org/', 'pnt', 'Ποντιακά'),
  ('//dz.wikipedia.org/', 'dz', 'རྫོང་ཁ'),
  ('//rmy.wikipedia.org/', 'rmy', 'Romani'),
  ('//rn.wikipedia.org/', 'rn', 'Kirundi'),
  ('//sm.wikipedia.org/', 'sm', 'Gagana Sāmoa'),
  ('//sg.wikipedia.org/', 'sg', 'Sängö'),
  ('//st.wikipedia.org/', 'st', 'Sesotho'),
  ('//tn.wikipedia.org/', 'tn', 'Setswana'),
  ('//cu.wikipedia.org/', 'cu', 'Словѣ́ньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ'),
  ('//ss.wikipedia.org/', 'ss', 'SiSwati'),
  ('//ti.wikipedia.org/', 'ti', 'ትግርኛ'),
  ('//chr.wikipedia.org/', 'chr', 'ᏣᎳᎩ'),
  ('//chy.wikipedia.org/', 'chy', 'Tsėhesenėstsestotse'),
  ('//ve.wikipedia.org/', 've', 'Tshivenḓa'),
  ('//ts.wikipedia.org/', 'ts', 'Xitsonga'),
  ('//tum.wikipedia.org/', 'tum', 'chiTumbuka'),
  ('//tw.wikipedia.org/', 'tw', 'Twi'),
  ('//xh.wikipedia.org/', 'xh', 'isiXhosa'),
  ('//zu.wikipedia.org/', 'zu', 'isiZulu')
]

regex = re.compile(r'pages-meta-current[0-9]+')

def get_files(html_doc):
  soup = BeautifulSoup(html_doc, 'html.parser')
  hrefs = [i.get('href') for i in soup.find_all('a') if 'pages-meta-current' in i.get('href')]
  if len(hrefs) > 1:
    for i in hrefs[1:]:
      yield i
  else:
    yield hrefs[0]

def language_links():
  for url, lang, name in wiki_list:
    dump_url = 'https://dumps.wikimedia.org/{}wiki/20160305/'.format(lang)
    r = requests.get(dump_url)
    if r.status_code == 200:
      for i in get_files(r.text):
        yield 'https://dumps.wikimedia.org{}'.format(i)

if __name__ == '__main__':
  for links in language_links():
    print(links)
