Посібник:Pywikibot/pagegenerators.py

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Pywikibot/pagegenerators.py and the translation is 83% complete.
Other languages:
English • ‎español • ‎français • ‎lietuvių • ‎čeština • ‎Ελληνικά • ‎українська • ‎العربية • ‎中文 • ‎日本語 • ‎한국어

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])

Див. також