手册:Pywikibot/pagegenerators.py
Appearance
维基媒体的Git版本库内有此文件: pywikibot/pagegenerators.py |
Pywikibot脚本 |
---|
|
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])