# -*- coding: utf-8 -*-# Robot que llista articles enllaçats a pàgines de desambiguació.# Exclou les redireccions i els que tenen una plantilla de polisèmia.# Les pàgines que tenen "desambiguació" al títol no les mira# per massa òbvies.importsyssys.path.append('C:\pywikipedia')importwikipedia,catlib,re,pagegenerators,urllib2defmain():tcat=u"Pàgines de desambiguació"#Poseu aquí la categoria a indexarcat=catlib.Category(site,tcat)informe=u"=="+tcat+u"==\n\n"informe0=informepaginforme=wikipedia.Page(site,u"Usuari:PereBot/enllaços a pàgines de desambiguació")# Canvieu això pel lloc on vulgueu la informaciótextvell=paginforme.get()comptador=0comptabloc=480forpaginpagegenerators.CategorizedPageGenerator(cat,recurse=True):printcomptador,pagenllacades=u""ifu"(desambiguació)"inpag.title():printu"Títol inconfusible"continueforartinpagegenerators.PreloadingGenerator(pagegenerators.ReferringPageGenerator(pag,followRedirects=True)):printcomptador,comptabloc,artplants=art.templates()ifart.namespace()<>0:printu"No espai principal"continueelifart.isRedirectPage():continueelifu'Confusió'inplantsoru'Confondre'inplantsoru'Distingir'inplants:printu'Confusió'continueelifu'Polisèmia'inplantsoru'Nota disambigua'inplantsoru'Other uses'inplantsoru'Altres usos'inplants:printu'Polisèmia'continueelifu'Redirecció'inplantsoru'Redirect'inplants:printu'Redirecció'continueelifu'Vegeu'inplantsoru'Polisèmia descripció'inplantsoru'Homonímia'inplants:printu'Vegeu'continueelifu'Vegeu (des)'inplantsoru'Vegeu (desambiguació)'inplants:printu'Vegeu (des)'continueelifu'Vegeu lliure'inplantsoru'Hatnote'inplants:printu'Vegeu (des)'continueelifu'Vegeu3'inplantsoru'Otheruses4'inplants:printu'Vegeu3'continuecomptador=comptador+1comptabloc=comptabloc+1enllacades=enllacades+u"## [["+art.title()+u"]]\n"printu"enllaçada"ifenllacades<>u"":informe=informe+u"# [["+pag.title()+u"]]\n"+enllacadesifcomptabloc>500:textnou=textvell+u"\n\n"+informe+u"\n\n"paginforme.put(textnou,u"Enllaços a pàgines de desambiguació")comptabloc=0# if comptador>50:# breaktextnou=textvell+u"\n\n"+informe+u"\n\n--~~~~\n"paginforme.put(textnou,u"Enllaços a pàgines de desambiguació")return#El programa comença aquítry:site=wikipedia.getSite('ca')main()finally:wikipedia.stopme()