Manual:Pywikibot/Create your own script

Jump to navigation Jump to search
Other languages:
Bân-lâm-gú • ‎Deutsch • ‎English • ‎català • ‎español • ‎français • ‎italiano • ‎oʻzbekcha/ўзбекча • ‎português do Brasil • ‎slovenčina • ‎svenska • ‎български • ‎русский • ‎українська • ‎العربية • ‎中文 • ‎日本語 • ‎한국어

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

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

To open a shell, run python shell;

As a script, please save the file as in the scripts/userscripts/ directory, then run python 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""Edit comment")
  • look at some of the pywikibot files for other ideas -- scripts/ is relatively easy to read even if you're new to pywikibot.
  • you can find all available Page methods in the pywikibot/ file.
  • 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/ (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

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