Jump to content

手册: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是一个用于生成其他脚本的页面列表的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推荐

以下代码返回KeyError: 'query',因为它具有特殊字符:

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

如果在User和MediaWiki名字空间中搜索,它看起来就像

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

因此,需要进行编码转换

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

参见