from datetime import datetime from tqdm import tqdm import pywikibot as pwb sites = { 'commons:commons': {'site': pwb.Site('commons', 'commons')}, 'wikidata:wikidata': {'site': pwb.Site('wikidata', 'wikidata')}, } multicodesites = ('wikipedia', 'wikivoyage', 'wiktionary', 'wikibooks', 'wikinews', 'wikiquote', 'wikisource', 'wikiversity') for site_name in multicodesites: ensite = pwb.Site('en', site_name) sites.update({ '{}:{}'.format(site_name, c): {'site': pwb.Site(c, site_name)} for c in ensite.family.codes }) for k, v in tqdm(sites.items()): v['url'] = pwb.Page(v['site'], v['site'].siteinfo['mainpage']).full_url() v['start'] = datetime.now() v['count'] = len(list(v['site'].search('wiki'))) v['finish'] = datetime.now() v['timedelta'] = v['finish'] - v['start'] v['name'] = k v['result'] = '| [[ {url} | {name} ]] | {timedelta} | {count} |'.format(**v) for v in sorted(sites.values(), key=lambda v: v['timedelta']): print(v['result'])