Vés al contingut

Viquipèdia:Taller de bots 2010/Projectes/Desambiguacions/pagdesambig.py

De la Viquipèdia, l'enciclopèdia lliure

Aquest programa retorna dues llistes, amb tots els enllaços d'una pàgina de desambiguació donada. La primera té els enllaços en negreta, la segona, els que no en tenen (secundaris).

Codi

[modifica]
# -*- coding: utf-8 -*-
import wikipedia,re

def upperprimer(stri):
    spl = stri.split()
    spl[0] = spl[0][0].upper()+spl[0][1:]
    return ' '.join(spl)

def troba(desambig):
    t = desambig.strip('[]')
    if len(t.split('|')) == 2:
       t = t.split('|')[0]
    site = wikipedia.getSite('ca')
    page = wikipedia.Page(site,t)
    text = page.get()
    prin = re.findall("'''\[\[(.*)\]\]'''",text,re.I)
    principals = []
    for x in prin:
        if len(x.split('|')) == 2: principals.append(upperprimer(x.split('|')[0]))
        else: principals.append(upperprimer(x.split('|')[0]))
        
    sec = page.linkedPages()
    secundaris = []
    for p in sec:
        if p.title().replace('Categoria:','') not in principals:
	   secundaris.append(p.title().replace('Categoria:',''))
    return (principals,secundaris)