Vés al contingut

Usuari:Anskar/interwiki.py

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

Hi ha cops que em falla buscar els interviquis dins una pàgina a WikiData emprant el pywikipediabot, vaig decidir crear aquesta funció per trobar l'interviqui mitjançant la url de la pàgina que vaig trobar gràcies a aquesta eina

import wikipedia
import json
import urllib

def interwikiLang2Lang(pagina):
    """ 
    Funció per trobar la pàgina que enllaça a una altra viqui

    pagina: és un objecte tipus wikipedia.Page()

    S'han de definir les següents variables:
    * lang_origin : llengua origen xx
    * lang_to : llengua destí yy
    
    retorna [[yy:títol]], objecte wikipedia.Page()
    """
    lang_origin = # variable per definir l'idioma de la pàgina de cerca del tipus xx
    lang_to = # idioma que volem trobar la pàgina enllaçada
    urlData = 'http://www.wikidata.org/w/api.php?action=wbgetentities&format=json&props=sitelinks%2Furls&dir=ascending'
    variable = '&sites='+lang_origin+'wiki&titles='+pagina.title()
    dicc = urllib.urlopen(urlData+variable).read()
    site_to = wikipedia.getSite(lang_to,'wikipedia')
    item = json.JSONDecoder().raw_decode(dicc)[0]['entities'].keys()
    repo = pagina.data_repository()
    iw = [x for x in wikipedia.DataPage(repo,item[0]).interwiki() if x.site() == site_to]
    return iw[0]