Manual:Pywikibot/Create your own script

From MediaWiki.org
Jump to: navigation, search

Other languages:
български • ‎català • ‎English • ‎français • ‎한국어 • ‎polski • ‎português • ‎中文

This page lists some very basic tips for getting started writing your own bot. Make sure you've set up your user-config.py file!

You can either use the following commands in a shell, or in a script.

To open a shell, run python pwb.py shell;

As a script, please save the file as 'myscript.py' in the 'scripts/' directory; then run python pwb.py myscript.

  • To gain access to the pywikipedia framework, use:
import pywikibot
  • to retrieve a page, use the following, where pageName is the title of the page you would like to retrieve, e.g., "Wikipedia:Bots" or "India":
site = pywikibot.Site()
page = pywikibot.Page(site, u"pageName")
text = page.text
  • to update a page, use:
page.text = u"newText"
page.save(u"Edit comment")
  • look at some of the pywikibot files for other ideas -- scripts/basic.py is relatively easy to read even if you're new to pywikibot.
  • you can find all available Page methods in the pywikibot/page.py file.
  • basic.py gives you a setup that can be used for many different bots, all you have to do is define the string editing on the page text.
  • To iterate over a set of pages, see pywikibot/pagegenerators.py for some objects that return a set of pages. An example use of the CategoryPageGenerator that does something for each page in the Category:Living people category:
import pywikibot
from pywikibot import pagegenerators
site = pywikibot.Site()
cat = pywikibot.Category(site,'Category:Living people')
gen = pagegenerators.CategorizedPageGenerator(cat)
for page in gen:
  #Do something with the page object, for example:
  text = page.text

See also[edit]