Programmeren in Python/Pywikibot: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
Alle pagina's uit een categorie, met andere taalversies |
→Alle pagina's uit een categorie, met andere taalversies: -> om de code te laten beginnen |
||
Regel 52: | Regel 52: | ||
for page in show_cat_all_pages(interlinks.site.lang,interlinks.title,3): |
for page in show_cat_all_pages(interlinks.site.lang,interlinks.title,3): |
||
print("[%s]-[%s]" % ( interlinks.site.lang,page.title())) |
print("[%s]-[%s]" % ( interlinks.site.lang,page.title())) |
||
#main |
|||
print("Begonnen") |
|||
gen_cat_all_pages('nl','Woerden',3) |
|||
</source> |
</source> |
Versie van 28 dec 2015 11:13
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()))
#main
print("Begonnen")
gen_cat_all_pages('nl','Woerden',3)