Programmeren in Python/Pywikibot: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
voorbeeld cat/subcat |
Alle pagina's uit een categorie, met andere taalversies |
||
Regel 22: | Regel 22: | ||
print(page.title()) |
print(page.title()) |
||
print("Klaar") |
print("Klaar") |
||
</source> |
|||
==Alle pagina's uit een categorie, met andere taalversies== |
|||
<source lang="python"> |
|||
import pywikibot |
|||
from pywikibot import pagegenerators |
|||
def show_cat_all_pages(lng,catname, leveldeep): #print all page-titles from *category* in language *lng* |
|||
site = pywikibot.Site(lng) |
|||
cat = pywikibot.Category(site,catname) |
|||
catgen = pagegenerators.CategorizedPageGenerator(cat,leveldeep) |
|||
for pagefound in catgen: |
|||
yield pagefound |
|||
def gen_cat_all_pages(lng,catname,leveldeep): |
|||
site = pywikibot.Site() |
|||
cat = pywikibot.Category(site,catname) |
|||
gen = pagegenerators.CategorizedPageGenerator(cat,3) |
|||
for page in show_cat_all_pages('nl',cat.title(),1): |
|||
print("[%s]-[%s]" % ( 'nl',page.title())) |
|||
#print("Now go international!") |
|||
for interlinks in cat.iterlanglinks(): |
|||
#print("Site: [%s]" % (interlinks.site.lang)) |
|||
#print("Title: [%s]" % (interlinks.title)) |
|||
for page in show_cat_all_pages(interlinks.site.lang,interlinks.title,3): |
|||
print("[%s]-[%s]" % ( interlinks.site.lang,page.title())) |
|||
</source> |
</source> |
Versie van 28 dec 2015 10:10
Pywikibot is een class library in Python om Wikimedia-projecten te kunnen lezen en schrijven. Uiteraard kunnen Wikipedia-pagina's worden bewerkt, maar ook afbeeldingen op Commons of Wikidata kunnen worden bewerkt.
Wikidata redirect
x = pywikibot.ItemPage(repo, 'Q18362289') #this one is a redirect
while x.isRedirectPage(): #controleer of dit een redirect is
x = pywikibot.ItemPage(repo,x.getRedirectTarget().title()) #lees de redirected page
print("Ik heb 'm [%s]" % (x.title()))
Alle pagina's uit een categorie
import pywikibot
from pywikibot import pagegenerators
print("Begonnen")
site = pywikibot.Site() #default site of user
cat = pywikibot.Category(site,'Categorie:Woerden')
gen = pagegenerators.CategorizedPageGenerator(cat,True) #generator geeft alle pagina's uit de categorie, tweede parameter zegt: ook sub-cats meenemen
#gen = pagegenerators.CategorizedPageGenerator(cat,1) #generator geeft alle pagina's uit de categorie, tweede parameter zegt: 1 sub-cat diep doorlopen
for page in gen:
print(page.title())
print("Klaar")
Alle pagina's uit een categorie, met andere taalversies
import pywikibot
from pywikibot import pagegenerators
def show_cat_all_pages(lng,catname, leveldeep): #print all page-titles from *category* in language *lng*
site = pywikibot.Site(lng)
cat = pywikibot.Category(site,catname)
catgen = pagegenerators.CategorizedPageGenerator(cat,leveldeep)
for pagefound in catgen:
yield pagefound
def gen_cat_all_pages(lng,catname,leveldeep):
site = pywikibot.Site()
cat = pywikibot.Category(site,catname)
gen = pagegenerators.CategorizedPageGenerator(cat,3)
for page in show_cat_all_pages('nl',cat.title(),1):
print("[%s]-[%s]" % ( 'nl',page.title()))
#print("Now go international!")
for interlinks in cat.iterlanglinks():
#print("Site: [%s]" % (interlinks.site.lang))
#print("Title: [%s]" % (interlinks.title))
for page in show_cat_all_pages(interlinks.site.lang,interlinks.title,3):
print("[%s]-[%s]" % ( interlinks.site.lang,page.title()))