Wikipedia (chū-iû ê pek-kho-choân-su) beh kā lí kóng...
# -*- coding: utf-8 -*-
import pywikibot
def add_sitelink ( item , nan_title ):
# Adds sitelink to wikidata if not added yet.
try :
if u 'zh_min_nanwiki' not in item . sitelinks :
# add sitelink to wikidata
item . setSitelink ( sitelink = { 'site' : 'zh_min_nanwiki' , 'title' : nan_title },
summary = u 'Added new link to [zh_min_nanwiki]' )
pywikibot . output ( u 'Added new link to wikidata' )
else :
pywikibot . output ( u 'Sitelink already exists, item not edited' )
except pywikibot . data . api . APIError :
# Bot got an error with warning for editing Yolo County (Q109709).
pywikibot . output ( u 'data.api.APIError occured' )
pass
# -*- coding: utf-8 -*-
import pywikibot
#NOTE: chhōe zh-min-nan bûn-chiuⁿ "Bí-kok" ê wikidata item
site = pywikibot . Site () # chí-tēng wikipedia pán-pún
page_title = u 'Bí-kok' # bûn-chiuⁿ title
page = pywikibot . Page ( site , page_title )
wd_item = pywikibot . ItemPage . fromPage ( page )
# chhōe wikidata téng Bí-kok (Q30) ê jîn-kháu (P1082) chu-liāu
if 'P1082' in wd_item . claims :
# P1082 chu-liāu ē-té ū chē chōa bô-kâng sî-kan ê jîn-kháu
p1082_list = wd_item . claims [ 'P1082' ]
# ti̍t-chiap the̍h jîn-kháu sò͘-jī, khah kán-tan ê hong-sek
pop_amount = wd_item . claims [ 'P1082' ][ 0 ] . getTarget () . amount
print pop_amount
else :
print u 'Pún item bô chi̍t hāng chu-liāu'
# -*- coding: utf-8 -*-
import pywikibot
#NOTE: chhōe zh-min-nan bûn-chiuⁿ "Bí-kok" ê wikidata item
site = pywikibot . Site () # chí-tēng wikipedia pán-pún
page_title = u 'Bí-kok' # bûn-chiuⁿ title
page = pywikibot . Page ( site , page_title )
wd_item = pywikibot . ItemPage . fromPage ( page )
# chhōe wikidata téng Bí-kok (Q30) ê jîn-kháu (P1082) chu-liāu
if 'P1082' in wd_item . claims :
# P1082 chu-liāu ē-té ū chē chōa bô-kâng sî-kan ê jîn-kháu
p1082_list = wd_item . claims [ 'P1082' ]
# kā kui-ê P1082 chū-liāu kái chò json kè-sek, thang chhōe tio̍h khah siōng-sè ê chu-sìn
# chhōe siāng téng-bīn chi̍t hūn jîn-kháu chu-liāu
pop_json = wd_item . claims [ 'P1082' ][ 0 ] . toJSON ()
# jîn-kháu sò͘-jī
pop_amount = int ( pop_json [ 'mainsnak' ][ 'datavalue' ][ 'value' ][ 'amount' ])
# jîn-kháu sî-kan
pop_date = pop_json [ 'qualifiers' ][ 'P585' ][ 0 ][ 'datavalue' ][ 'value' ][ 'time' ]
# kā sî-kan chu-liāu kán-hòa
pop_date = pop_date . split ( '+0000000' )[ 1 ] . split ( 'T' )[ 0 ]
print pop_amount , pop_date
else :
print u 'Pún item bô chi̍t hāng chu-liāu'
# -*- coding: utf-8 -*-
import pywikibot
from pywikibot import pagegenerators as pg
query_string = """
SELECT ?item WHERE {
?item wdt:P585 [] .
MINUS { ?item wdt:P31 wd:Q577 }
MINUS { ?item wdt:P31 wd:Q14795564 }
}
"""
# téng-bīn query ê ì-sù:
# chhōe ū P585 (point in time) chū-liāu ê wikidata item,
# pâi-tû kî-tiong P31 (instance of) sī Q577, Q14795564 ... --ê
wikidata_site = pywikibot . Site ( "wikidata" , "wikidata" )
generator = pg . WikidataSPARQLPageGenerator ( query_string , site = wikidata_site )
# tùi chhâ-sûn kiat-kó loop chhut bí chi̍t hāng
for wd_item in generator :
wd_item . get ()
# sòa--lo̍h-lāi g to̍h kap téng-bīn script ê wd_item sī kâng khoán ê mi̍h
# ...
# in-ūi ta̍k khoán chū-liāu kè-sek lóng bô siáⁿ kâng, khó-lêng ài chiàu lí beh
# ê chū-liāu ēng toJSON() piàn chò json liáu-āu tùi lāi-bīn chhōe beh ài ê pō͘-hūn.