Jump to content

Manual:Pywikibot/Создать свой скрипт

From mediawiki.org
This page is a translated version of the page Manual:Pywikibot/Create your own script and the translation is 87% complete.

На этой странице перечислены некоторые основные советы для начала написания собственного бота. Убедитесь, что вы настроили файл user-config.py !

Вы можете либо использовать следующие команды в оболочке, либо в скрипте.

Чтобы открыть оболочку, запустите python pwb.py shell;

В качестве скрипта сохраните файл как «myscript.py» в каталоге scripts/userscripts/; затем выполните python pwb.py myscript.

Чтобы получить доступ к фреймворку Pywikibot из вашего скрипта на Python, используйте:

import pywikibot
  • для извлечения страницы используйте следующую команду, где pageName - это название страницы, которую вы хотите получить (например: Википедия:Боты или Индия):
site = pywikibot.Site()
page = pywikibot.Page(site, "pageName")
text = page.text
  • для обновления страницы используйте:
page.text = "newText"
page.save("Edit comment")
  • посмотрите на некоторые файлы pywikibot для других идей -- scripts/basic.py относительно легко читать, даже если вы новичок в pywikibot.
  • вы можете найти все доступные методы страницы в файле pywikibot/page.py.
  • basic.py дает вам настройку, которая может использоваться для разных ботов, все, что вам нужно сделать, это определить редактирование строки в тексте страницы.
  • Чтобы выполнить итерацию по набору страниц, см. pywikibot/pagegenerators.py (см. также старую документацию) для некоторых объектов, которые возвращают набор страниц. Пример использования CategoryPageGenerator, который делает что-то для каждой страницы в категории: Категория:Living people
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

См. также


If you need more help on setting up your Pywikibot visit the #pywikibot IRC channel подключиться or pywikibot@ mailing list.