Посібник:Pywikibot/pagegenerators.py
Каталог Git Вікімедіа має цей файл: pywikibot/pagegenerators.py |
pagegenerators.py — це скрипт Pywikibot , який використовується для створення списку сторінок для інших скриптів.
Цей модуль пропонує широкий вибір генераторів сторінок. Генератор сторінок — це ітерабельний об’єкт (див. https://www.python.org/dev/peps/pep-0255/), що надає об’єкти сторінок, які інші скрипти можуть потім використовувати.
Використання командного рядка
pagegenerators.py не можуть виконуватися безпосередньо. Натомість можна використовувати скрипт listpages.py .
Приклад:
$ python pwb.py listpages -search:'foobar'
Він поверне, у стандартному виведенні, список усіх сторінок, що містять «foobar», як це повертає пошуковий рушій MediaWiki.
Див. listpages.py для докладнішої інформації.
Виклики з інших скриптів
Сканер категорії:
from pywikibot import pagegenerators
site = pywikibot.Site()
cat = pywikibot.Category(site, 'Category name')
pages = cat.articles()
for page in pagegenerators.PreloadingGenerator(pages, 100):
# some treatment of generated pages
Дослідник підкатегорій:
gen = pagegenerators.CategorizedPageGenerator(cat, recurse=True)
Запити MySQL (див. Посібник:Pywikibot/MySQL ):
gen = pagegenerators.MySQLPageGenerator(query)
Рекомендації Unicode
The following code returns KeyError: 'query' because of the special character:
gen = pagegenerators.SearchPageGenerator('´', namespaces = [0])
If searching in user and mediawiki namespaces, it would look like
gen = pagegenerators.SearchPageGenerator('´', namespaces = [2, 8])
Consequently, an encoding conversion is needed:
gen = pagegenerators.SearchPageGenerator("´", namespaces = [0])