Manuel:Pywikibot/pagegenerators.py
Le dépôt Git de Wikimedia a ce fichier : pywikibot/pagegenerators.py |
Scripts Pywikibot |
---|
|
pagegenerators.py est un script 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])