手册:Pywikibot/commonscat.py

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Pywikibot/commonscat.py and the translation is 100% complete.
Other languages:

commonscat.py是一个Pywikibot 脚本,用于向分类添加{{commonscat}}模板。

此工具遵循跨语言链接运作。如果该模板在另一语言的页面上出现,机器人将予以采用。

您或许也能对条目使用该脚本,但这未经测试。

参数

支持以下参数:


參數描述
-always 不要求确认每次替换。请慎重使用。
-summary:XYZ 设定编辑摘要为XYZ,否则使用add_text.py的默认消息
-checkcurrent 在所有嵌入了主commonscat模板的分类页面上运作

遍历所有分类的例子:

$ python pwb.py commonscat -start:Category:!

此机器人使用页面生成器(pagegenerators)获得页面列表。支持如下选项:


可用的生成器和过滤器

生成器选项
参数 描述
-cat 工作于指定分类中的所有页面。参数也可提供为"-cat:分类名"或"-cat:分类名|起始索引"(也可使用#而非|,以下同) Argument can also be given as "-cat:categoryname" or as "-cat:categoryname|fromtitle" (using # instead of | is also allowed in this one and the following)
-catr 类似-cat,同时递归包含指定分类的子分类、子子分类...中的页面。参数也可提供为"-catr:分类名"或"-catr:分类名|起始标题"。
-subcats 工作于指定分类的所有子分类。参数也可提供为"-subcats:分类名"或"-subcats:分类名|起始标题"。 Argument can also be given as "-subcats:categoryname" or as "-subcats:categoryname|fromtitle".
-subcatsr 类似-subcats,但包括子子分类等。参数也可提供为"-subcatsr:分类名"或"-subcatsr:分类名|起始标题"。
-uncat 工作于所有未分类的页面。
-uncatcat 工作于所有未分类的分类。
-uncatfiles 工作于所有未分类的文件。
-file 从指定名称的文本文件读取要处理的页面列表。文件中的页面标题可以有方括号包裹(例如[[Page]]),或用新行分隔。也支持用参数提供为"-file:文件名"。
-filelinks 工作于使用了指定图像/媒体文件的所有页面。也可用参数提供为"-filelinks:文件名"。 Argument can also be given as "-filelinks:filename".
-search 工作于在MediaWiki搜索结果中找到的所有页面,适用于所有名字空间
-logevents 工作于在指定的“特殊:日志”中找到的条目。此值支持用逗号分隔。 The value may be a comma separated list of these values:
logevent,username,start,end

或为了向后兼容性:

logevent,username,total

使用空字符串则会使用默认值。可以使用下列参数作为日志事件类别选项,如下:

spamblacklist, titleblacklist, gblblock, renameuser, globalauth, gblrights, gblrename, abusefilter, massmessage, thanks, usermerge, block, protect, rights, delete, upload, move, import, patrol, merge, suppress, tag, managetags, contentmodel, review, stable, timedmediahandler, newusers

将使用默认页面数10。

例如:

-logevents:move gives pages from move log (usually redirects)
-logevents:delete,,20 gives 20 pages from deletion log
-logevents:protect,Usr gives pages from protect by user Usr
-logevents:patrol,Usr,20 gives 20 patroled pages by Usr
-logevents:upload,,20121231,20100101 gives upload pages in the 2010s, 2011s, and 2012s
-logevents:review,,20121231 gives review pages since the beginning till the 31 Dec 2012
-logevents:review,Usr,20121231 gives review pages by user Usr since the beginning till the 31 Dec 2012
某些情况下必须写为-logevents:"move,Usr,20"
-interwiki 工作于指定页面及其他语言中的等效页面。这可能用于对抗跨站点垃圾信息发布。注意,这样机器人将会修改若干个wiki网站上的页面,这可能缺乏充足测试,故请检查您的编辑! This can, for example, be used to fight multi-site spamming. Attention: this will cause the bot to modify pages on several wiki sites, this is not well tested, so check your edits!
-links 工作于指定页面所链接的所有页面。也可用参数提供为"-links:页面标题"。 Argument can also be given as "-links:linkingpagetitle".
-liverecentchanges 工作于“最近更改”实时供稿列出的页面。如果设为-liverecentchanges:x,将在最后x个最近更改上运行。 If used as -liverecentchanges:x, work on x recent changes.
-imagesused 工作于指定页面包含的所有图像上。也可用参数提供为"-imagesused:页面标题"。 Can also be given as "-imagesused:linkingpagetitle".
-newimages 工作于最新上传的图像。如果提供为-newimages:x,将在最新上传的x个图像上运行。 If given as -newimages:x, will work on x newest images.
-newpages 工作于最新创建的页面。如果提供为-newpages:x,将在最新创建的x个页面上运行。 If given as -newpages:x, will work on x newest pages.
-recentchanges 工作于最近更改的页面。如果提供为$1,将在最近更改的x个页面上运行。如果提供为$2,将使用自偏移('offset')的x分钟开始持续('duration')y分钟的时间范围。 If given as -recentchanges:x, will work on the x most recently changed pages. If given as -recentchanges:offset,duration it will work on pages changed from 'offset' minutes with 'duration' minutes of timespan.

例如:
-recentchanges:20 - 提供最近更改的20个页面
-recentchanges:120,70 - will give pages with 120 offset minutes and 70 minutes of timespan
-recentchanges:visualeditor,10 - 提供最近更改且标记有'visualeditor'的10个页面
-recentchanges:"mobile edit,60,35" - 将检索标有'mobile edit'(移动版编辑)且在指定偏移和持续时间范围内的页面

支持rctags,rctag必须是第一个参数。
-unconnectedpages Work on the most recent unconnected pages to the Wikibase repository. Given as -unconnectedpages:x, will work on the x most recent unconnected pages.
-ref 工作于所有链接到指定页面的页面。参数可提供为"-ref:页面标题"。 Argument can also be given as "-ref:referredpagetitle".
-start 指定机器人应从哪个标题开始按字母顺序遍历home wiki的所有页面。参数可提供为"-start:页面标题"。
可以包含一个名字空间,例如"-start:Template:!"将使机器人工作于模板名字空间的所有页面。
默认值:start:!
Argument can also be given as "-start:pagetitle". You can also include a namespace. For example, "-start:Template:!" will make the bot work on all pages in the template namespace. default value is start:!
-prefixindex Work on pages commencing with a common prefix.
-transcludes Work on all pages that use a certain template. Argument can also be given as "-transcludes:Title".
-unusedfiles Work on all description pages of images/media files that are not used anywhere. Argument can be given as "-unusedfiles:n" where n is the maximum number of articles to work on.
-lonelypages Work on all articles that are not linked from any other article. Argument can be given as "-lonelypages:n" where n is the maximum number of articles to work on.
-unwatched 工作于所有未被任何人监视的条目。参数可提供为"-unwatched:n",n是最多返回的条目数量。 Argument can be given as "-unwatched:n" where n is the maximum number of articles to work on.
-property:name 工作于所有具指定属性的页面,来自Special:PagesWithProp。
-usercontribs 工作于指定用户编辑过的所有条目(例如:-usercontribs:DumZiBoT) (Example : -usercontribs:DumZiBoT)
-weblink 工作于包含指定外部链接的所有条目;可提供为"-weblink:url"
-withoutinterwiki 工作于所有不含跨语言链接的页面。也可将参数提供为"-withoutinterwiki:n",n是要获取的数量。 Argument can be given as "-withoutinterwiki:n" where n is the total to fetch.
-mysqlquery 执行一条Mysql查询,例如"SELECT page_namespace, page_title, FROM page WHERE page_namespace = 0",并工作于返回的结果的页面上。另见手册:Pywikibot/MySQL
-sparql 执行一条SPARQL SELECT查询字符串,包含?item,并工作于返回结果的页面上。
-sparqlendpoint 指定SPARQL端点网址(可选)(例如:-sparqlendpoint:http://myserver.com/sparql) (Example : -sparqlendpoint:http://myserver.com/sparql)
-searchitem Takes a search string and works on Wikibase pages that contain it. Argument can be given as "-searchitem:text", where text is the string to look for, or "-searchitem:lang:text", where lang is the language to search items in.
-random 工作于Special:Random所返回的随机页面上。参数可提供为"-random:n",n是要返回的页面数量。 Can also be given as "-random:n" where n is the number of pages to be returned.
-randomredirect 工作于Special:RandomRedirect所返回的随机重定向页。参数可提供为"-randomredirect:n",n是返回的页面数量。 Can also be given as "-randomredirect:n" where n is the number of pages to be returned.
-google 工作于Google搜索结果中找到的所有页面上。需要一个Google Web API许可密钥。注意,Google不再提供许可密钥。操作指南另见config.py中的google_key。也可用"-google:searchstring"提供参数。 You need a Google Web API license key. Note that Google doesn't give out license keys anymore. See google_key in config.py for instructions. Argument can also be given as "-google:searchstring".
-yahoo 工作于Yahoo搜索中找到的所有页面。依赖于Python模块pYsearch。操作指南另见config.py中的yahoo_appid。 Depends on python module pYsearch. See yahoo_appid in config.py for instructions.
-page 工作于单个页面。也可用参数"-page:pagetitle"提供,并可多次指定来提供多个页面。 Argument can also be given as "-page:pagetitle", and supplied multiple times for multiple pages.
-pageid 工作于单个pageid。参数也可提供为"-pageid:pageid1,pageid2,.",或"-pageid:'pageid1|pageid2|..'",并支持多次指定。 Argument can also be given as "-pageid:pageid1,pageid2,." or "-pageid:'pageid1|pageid2|..'" and supplied multiple times for multiple pages.
-linter 工作于包含lint错误的页面。所用站点上必须已启用Linter。-linter会选择所有分类。 -linter:high、-linter:medium或-linter:low根据优先级选择分类。可用逗号间隔来提供多个分类,如-linter:cat1,cat2,cat3
添加'/int' identifies Lint ID to start querying from: 例如-linter:high/10000
-linter:show 则只显示可用分类。
Extension Linter must be available on the site. -linter select all categories. -linter:high, -linter:medium or -linter:low select all categories for that prio. Single categories can be selected with commas as in -linter:cat1,cat2,cat3 Adding '/int' identifies Lint ID to start querying from: e.g. -linter:high/10000 -linter:show just shows available categories.
过滤器选项
参数 描述
-catfilter 过滤页面生成器的结果,只返回指定分类中的页面。另见-cat生成器的参数格式。 See -cat generator for argument format.
-grep A regular expression that needs to match the article otherwise the page won't be returned. Multiple -grep:regexpr can be provided and the page will be returned if content is matched by any of the regexpr provided. Case insensitive regular expressions will be used and dot matches any character, including a newline.
-intersect 工作于提供的全部生成器的交叉点。
-limit 与其他参数配合使用时,-limit:n指定了最多处理n个页面。
-namespaces
-namespace
-ns
Filter the page generator to only yield pages in the specified namespaces. Separate multiple namespace numbers or names with commas.

Examples:

-ns:0,2,4 -ns:Help,MediaWiki

You may use a preleading "not" to exclude the namespace. Examples:

-ns:not:2,3 -ns:not:Help,File

If used with -newpages/-random/-randomredirect/-linter generators, -namespace/-ns must be provided before -newpages/-random/-randomredirect/-linter. If used with -recentchanges generator, efficiency is improved if -namespace is provided before -recentchanges.

If used with -start generator, -namespace/-ns shall contain only one value.
-onlyif 页面需要包含特定声明,否则不返回数据项。格式为属性=值,限定符=值。可以传递多个(或none)限定符,以逗号分隔。 The format is property=value,qualifier=value. Multiple (or none) qualifiers can be passed, separated by commas.

例如:
P1=Q2 (属性P1必须包含值Q2)
P3=Q4,P5=Q6,P6=Q7 (property P3 with value Q4 and qualifiers: P5 with value Q6 and P6 with value Q7)

值可以是页面ID,下列格式的坐标: latitude,longitude[,precision] (所有值为十进制表示,年份,或纯字符串。 可以多次提供该参数,仅返回存在所有声明的项目页。 参数也可提供为"-onlyif:expression"。
-onlyifnot 页面必须不含该声明,否则将不返回数据项。用法和例子见上方$1。 For usage and examples, see -onlyif above.
-ql 基于页面质量过滤页面。仅在contentmodel等于'proofread-page'时适用,否则无效果。有效值是范围0-4。可以用逗号分隔多个值。 This is only applicable if contentmodel equals 'proofread-page', otherwise has no effects. Valid values are in range 0-4. Multiple values can be comma-separated.
-subpage

-subpage:n filters pages to only those that have depth n i.e. a depth of 0 filters out all pages that are subpages, and a depth of 1 filters out all pages that are subpages of subpages.

-titleregex 条目标题必须匹配一个正则表达式,否则不返回该页面。可提供多个-titleregex:regexpr,匹配任意一个正则表达式的页面将被返回。正则表达式将不区分大小写,并且.(点)匹配任意字符。 Multiple -titleregex:regexpr can be provided and the page will be returned if title is matched by any of the regexpr provided. Case insensitive regular expressions will be used and dot matches any character.
-titleregexnot 类似-titleregex,但仅返回正则表达式不匹配的页面。


可用的全域參數

这些选项将覆盖user-config.py 设置中的配置。

全域选项
参数 描述 配置变量
-dir:路径 从路径给出的目录中读取bot的配置数据,而不是从默认目录中读取。  
-lang:xx 设置要使用的wiki的语言,覆盖user-config.py中的配置。xx应该是语言代码。 mylang
-family:xyz 设置你想要工作的wiki的系列,例如维基百科,维基词典,维基导游,...... 这将覆盖user-config.py中的配置。 family
-user:xyz 以用户'xyz'而不是默认用户名登录。 usernames
-daemonize:xyz 控制权立即交回终端,标准输出(stdout)和标准错误(stderr)重定向到文件xyz。(仅用于不需要从“标准输入”输入内容的机器人)。  
-help 显示帮助文本。  
-log 启用日志文件,默认文件名“script_name-bot.log”,日志存储在logs子目录中。 log
-log:xyz 启用日志文件,文件名'xyz'。 logfilename
-nolog 禁用日志文件(如果默认启用)。  
-maxlag 设置新的maxlag参数,单位秒。 数据库服务器高压力时机器人编辑的延迟秒数。config.py中设置有默认值。 maxlag
-putthrottle:n
-pt:n
-put_throttle:n
设置机器人在保存页面之间的最小间隔时间(单位:秒)。 put_throttle
-debug:item
-debug
启用日志文件并包括“item”组件的广泛调试数据(如果使用形式二,则包括所有组件)。 debug_log
-verbose
-v
使机器人提供额外的控制台输出内容,这可能对调试有益。 verbose_output
-cosmeticchanges
-cc
切换config.py或user-config.py中的cosmetic_changes设置,使其反转。 其他设置和限制不受影响。 cosmetic_changes
-simulate 禁用对服务器的写入。 适合用于测试和调试新编写的代码(如果设置,不会做任何实际更改,只显示将更改的内容)。 simulate
-<config var>:n 您可以使用所有给定的数字配置变量作为选项,并使用命令行进行修改。