Usuari:PereBot/robot comptacategories
Aparença
# -*- coding: utf-8 -*-
# Compta els articles continguts a les categories llistades en una pàgina (origen)
# i en fa un informe en una altra pàgina (desti), indicant el nombre d'articles
# amb subcategories i sense.
import re, sys
sys.path.append('C:\pywikipedia')
import wikipedia, catlib
def principal():
origen = u"Usuari:PereBot/Compta categories/categories a comptar"
desti = u"Usuari:PereBot/Compta categories"
pagdesti = wikipedia.Page(site, desti)
pagorigen = wikipedia.Page(site, origen)
textorigen = pagorigen.get()
fragments = re.split(ur"\[\[:|\n", textorigen)
#print fragments
informe = u"=={0}==\n\nRecompte d'articles a les categories llistades a {0}\n\n".format(origen)
for el in fragments:
# print u"tros original:", el
el = re.sub(ur"\|.*", "", el)
el = re.sub(ur"\]\].*", "", el)
# print u"tros net:", el
if re.match(r"[Cc]ategoria:", el):
elespai = el
el = re.sub(r"[Cc]ategoria:", "", el)
print u"És una categoria de nom:", el
l = catlib.Category(site,el).articlesList(recurse=0)
num = len(l)
l = catlib.Category(site,el).articlesList(recurse=50)
numtot = len(l)
print "%s elements" % num
informe += "[[{}]] {} articles. ({} amb subcategories)\n\n".format(elespai, num, numtot)
# else:
# print u"no és una categoria"
resum = u"Recompte de categories de %s" % origen.title()
pagdesti.put(u"%s\n%s\n--~~~~" % (pagdesti.get(), informe), resum)
if __name__ == "__main__":
site = wikipedia.getSite('ca')
principal()
wikipedia.stopme()