Usuari:Anskar/interwiki.py
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]