Manuel:Pywikibot/pagegenerators.py

From mediawiki.org
This page is a translated version of the page Manual:Pywikibot/pagegenerators.py and the translation is 100% complete.

pagegenerators.py est un script Manuel:Pywikibot utilisé pour générer une liste de pages pour d'autres scripts.

Ce module offre une grande variété de générateurs de pages. Un générateur de page est un objet itérable (voir https://www.python.org/dev/peps/pep-0255/) qui fournit des objets pages que les autres scripts peuvent ensuite utiliser.

Utilisation en ligne de commande

pagegenerators.py ne peut pas être utilisé directement. A la place, utiliser le script listpages.py .

Exemple :

$ python pwb.py listpages -search:'foobar'

Cet commande renvoie sur la sortie standard une liste de toutes les pages contenant foobar, telle que renvoyée par le moteur de recherche de MediaWiki.

Voir listpages.py pour d'autres détails.

Appels depuis un autre script

Récupérateur de catégories :

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

Explorateur de sous-catégories :

gen = pagegenerators.CategorizedPageGenerator(cat, recurse=True)

Requêtes MySQL (see Manual:Pywikibot/MySQL ) :

gen = pagegenerators.MySQLPageGenerator(query)

Recommandation Unicode

Le code suivant renvoie une erreur Key error: 'query' à cause des caractères spéciaux :

gen = pagegenerators.SearchPageGenerator('´', namespaces = [0])

Si vous cherchez dans les espaces de noms user et Mediawiki, le résultat ressemblera à :

gen = pagegenerators.SearchPageGenerator('´', namespaces = [2, 8])

Par conséquent, une conversion de l'encodage est nécessaire :

gen = pagegenerators.SearchPageGenerator("´", namespaces = [0])

Voir aussi