Site.Pages
Site.Pages is a PageList object that provides access to the Page object for any page on a site using its full name, as in:
page = site.Pages['Apple']
text = page.[[Page.edit|edit]]()
Pages outside the main namespace can be accessed using their usual namespace prefix (as in "Category:Apples", "File:Apple.jpg", or "Wikipedia:Articles for deletion"). When accessing a category or file description page, Pages automatically returns an object of type Category or Image, respectively.
No error is returned if the page does not exist; instead a Page object is created which can be used to create a new page using Page.save. To test if a page exists, check the "exists" data member of the returned Page:
page = site.Pages['Nonexistent page']
if not page.[[Page.exists|exists]]:
print 'Page not found, creating new page'
page.[[Page.save|save]]('Text for new page', summary='Creating new page')
Or more succinctly:
if not site.Pages['Nonexistent page'].[[Page.exists|exists]]:
print 'Page missing!'
Pages also permits iteration over all pages on a site, the same set of pages listed on-wiki at "Special:Allpages":
for page in site.Pages:
print page.[[Page.page_title|page_title]]
For a large site, this kind of loop can take a long time to run.
The Page.Categories and Page.Images objects provide access to categories and files, respectively, without the need for the "Category:" or "File:" namespace prefix.
This page was originally imported from the old mwclient wiki at SourceForge. The imported version was dated from 11:18, 25 November 2011, and its only editor was Derrickcoetzee (@dcoetzee).
- Querying Wikipedia with mwclient
- Replacing a string for every page in a category
- Creating a page listing all pages in a category
Note: the red links below are pages yet to be created. Feel free to add them!