Manual:Pywikibot/Create your own script

From mediawiki.org
Jump to navigation Jump to search

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/userscripts/ directory, then run python pwb.py myscript.

  • To gain access to the pywikibot library from your Python script, 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 (see also old documentation) 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]


If you need more help on setting up your Pywikibot visit the #pywikibot IRC channel connect or pywikibot@ mailing list.