維基百科机器人

维基百科:机器人/作业请求

维基百科,自由的百科全书
跳转至: 导航搜索
Crystal Clear action run.svg
快捷方式
WP:BOTR
WP:BOTREQ

本頁面用來請求機器人協助完成一些相對簡單而重複的作業,任何請求都必須符合機器人政策。想查看現有的機器人,請參見Wikipedia:机器人/列表

對於某個機器人的問題,請向其擁有者詢問。若發現機器人運作不良,請直接提醒該用戶,或至管理員通告板報告。

許多請求被拒絕的原因,可能是因為作業內容過於複雜,或是請求項目需要獲得社群共識。關於機器人功能的建議,請參見Wikipedia:机器人/提议

假設,如果您請求的機器人作業是把所有的條目討論頁加上一個专题标志模板以將其特定分類或子分類,請非常謹慎地檢查以確定其分類樹中沒有任何非目標的子分類:例如您可能沒留意到Category:第二次世界大战其實是Category:泰國的子分類,但事實上機器人在修改後者時將會波及前者。因此,我們提出要求時應提供完整的分類清單,以供機器人作個別處理,而非提供一個大分類再讓機器人修改所有相關分類而因而陷入遞迴。以下是英語版維基的一個成功請求,以及一個不良請求(及其造成的爛攤子)。中文維基的爛攤子例子見此

流程[编辑]

提出請求[编辑]

  • 請求者必須說明作業的內容、範圍與理由。如果曾在他處討論,也請附上連結。
  • 在作業前可能會有用戶提問,視內容可能會被判斷為不適合機器人作業。
  • 提出請求建議先經過討論。更動範圍過大或與現行方針指引有出入的修改應該先在互助客棧或相關專題討論。
  • 在作業完成的報告後,請確認作業內容是否符合預期,並在本頁面回報。

接受請求[编辑]

  • 擁有機器人的用戶,請在進行作業前在本頁面表明接受請求,以免多个用戶同時作業而出現衝突。{{BOTREQ}}可以用來方便回應。
  • 任何相關疑問請在本頁面或適當討論場所提出。
  • 當機器人作業完成之後,請在本頁面回報,說明完成的內容,並在作業確認完成後存檔。

请求区[编辑]


关于专题,请参看维基百科:专题委员会/技术支持

subst Template:CopyvioNotice[编辑]

引用且在User Talk命名空間的{{CopyvioNotice}}替換成{{subst:Template:CopyvioNotice/old}},此版本為建議,因為當初CopyvioNotice並沒有提供條目這個參數,且當初都沒有subst,導致使用現在版本的CopyvioNotice會看起來出錯。--A2093064#Talk 2016年11月24日 (四) 10:13 (UTC)

解決中......--小躍撈出記錄) 2017年3月13日 (一) 00:14 (UTC)

去除條目內{{Pathnav}}[编辑]

Template:Pathnav/doc:「本模板用於條目頁面不會顯示任何文字或圖像,所以請勿加入條目頁面內」,Wikipedia:互助客栈/技术/存档/2013年9月#Template:Pathnav失效了?--A2093064#Talk 2016年12月8日 (四) 12:27 (UTC)

(?)疑問,是否有替代模版? --砜中嘌呤的白磷萃取 打谱 2017年2月6日 (一) 09:36 (UTC)
@WhitePhosphorus:根據討論應是不允許在條目用此類型模板了。--A2093064#Talk 2017年2月10日 (五) 09:53 (UTC)
那应该可以用AWB修,无脑删就行了吧…… --砜中嘌呤的白磷萃取 打谱 2017年2月15日 (三) 07:19 (UTC)
連入數量已經超過2500,但是沒有發現同意廢除{{Pathnav}}的正式討論,另外有管理員修改模板然後自行全保護的記錄,因此目前不能動手。--逆襲的天邪鬼留言) 2017年3月4日 (六) 09:05 (UTC)
您这样一说激起了我考古的兴趣。据肉眼观测,User:Patvoiiage在模版文档的这个版本加上了“不应该用于条目名字空间”字样(然而,这位用户忘记删掉“以西新宿为例”了,从而显得自相矛盾)。不过这个时间点模版还没有禁止主名字空间的使用;后者是到2013年9月8日乌拉跨氪的版本了。 --砜中嘌呤的白磷萃取 打谱 2017年3月4日 (六) 10:26 (UTC)
已經生米煮成熟飯,所以我打算用一個專門的帳號處理,一旦需要恢復,再找個Bot把它的所有編輯都撤銷即可。--逆襲的天邪鬼留言) 2017年3月5日 (日) 00:19 (UTC)

修正中華民國行政區劃條目引言中的單位[编辑]

行政區劃的單位應當都是政治實體。然而,目前許多中華民國行政區劃的條目的首段中,敘述行政區劃的層級時卻使用地理實體[[臺灣]]。以后里區為例,條目首句為'''后里區'''是[[臺灣]][[臺中市]]的市轄區,這句話中的地理實體「臺灣」應該改為政治實體「中華民國」。

此外,對於不屬於直轄市的行政區劃,請加上[[臺灣省]]。以新埔鎮為例,首句中的[[臺灣]][[新竹縣]]應改為[[中華民國]][[臺灣省]][[新竹縣]]

請檢查所有市、區、鎮、鄉、里、鄰、村的條目。--Matt Smith留言) 2017年1月2日 (一) 04:47 (UTC)

WP:BIAS_POLITICS:「進一步來說,由於“台灣省”一詞在部分泛綠人士看来可能含侮辱性,所以應該只在特別地提及其省份本身時才被使用,例如「宋楚瑜是唯一民選的台灣省長」」-和平、奮鬥、救地球!留言) 2017年1月9日 (一) 08:02 (UTC)
此處的「行政區劃」就是在特別地提及「省」這個層級,因此敝人認為沒問題。--Matt Smith留言) 2017年1月9日 (一) 08:29 (UTC)
特別地提及其省份本身」。-和平、奮鬥、救地球!留言) 2017年1月9日 (一) 08:31 (UTC)
但是在敘述中華民國行政區劃的層級時,不應刻意跳過「臺灣省」這個層級。--Matt Smith留言) 2017年1月9日 (一) 08:34 (UTC)
如目前實質上無人使用,無謂再提。--Temp3600留言) 2017年3月7日 (二) 15:33 (UTC)

批量挂模板[编辑]

WP:RS中有写:但是对于高中以下的教材一定不能在维基中引用,烦请机器人给参考资料出现“义务教育标准教科书”、“七年级上(下)册”、“八年级上(下)册”、“九年级上(下)册”的条目挂上{{citecheck}}模板。--虫虫超能研究所实验志愿者报名入口教母改善计划 2017年2月25日 (六) 13:40 (UTC)

一些小修正[编辑]

  • 间隔号的不当使用:• => ·
  • 数学公式中微分算子的不当斜体:(\<math\>.*?)d([xyz].*?\<math\>) => \1\\mathrm{d}\2,以及\frac{d}{d[xyz]}这种也要修。当然不局限于xyz,细节再说吧。

其他的,想到再补充。AWB和bot其实都可以。 --砜中嘌呤的白磷萃取 打谱 2017年3月4日 (六) 14:55 (UTC)

自動保護高引用量模板[编辑]

剛剛發現有好多高引用量模板連半保護都沒有(太恐怖了,所以我就不列出有哪些了,免得吸引破壞者。其中很多是引用量500+以上的,一但被破壞......),所以希望能有機器人能自動偵測未保護的高風險模板,將這類模板自動保護。(我想到了去年暑假某個IP破壞者讓一堆條目白屏,找了好久才找到原因,但可能已影響幾千甚至幾萬名讀者了)。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月6日 (一) 14:15 (UTC)

试试看。--Antigng留言) 2017年3月6日 (一) 14:16 (UTC)
建議自動半保護。--小躍撈出記錄) 2017年3月6日 (一) 14:17 (UTC)
那種1000+的我覺得甚至需要全保護...-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月6日 (一) 14:18 (UTC)
有的需要非管理員修改,那該怎麼辦?--小躍撈出記錄) 2017年3月6日 (一) 14:21 (UTC)
給準備全保護的列個清單,或者大致給個範圍?--逆襲的天邪鬼留言) 2017年3月6日 (一) 14:23 (UTC)
(:)回應@小躍:編輯請求囉。(:)回應@逆襲的天邪鬼:根據Wikipedia:高風險模板,「500+可先半保護,若超過5000+則應考慮全保護」。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月6日 (一) 14:28 (UTC)
所列出的清單都在Special:已保护标题--小躍撈出記錄) 2017年3月6日 (一) 14:29 (UTC)
那些是保護而非準備(但還沒)全保護 囧rz...-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月6日 (一) 14:35 (UTC)
所以是要給出列表喔?--小躍撈出記錄) 2017年3月6日 (一) 14:38 (UTC)
我覺得這裡直接給出列表不妥(被破壞者盯上、趕在保護之前破壞就慘了)。我剛剛發現更恐怖的事:有個將近90萬頁面引用量的模塊模块:String只有半保護,自動確認用戶就能編輯它(2015年8月15日才由Jimmy Xu半保護,我剛剛將其全保護了)。另外,有些永久被連鎖保護的模板應可忽略(例如首頁一定會用到的),即可避免不必要的操作。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月6日 (一) 14:48 (UTC)
@和平奮鬥救地球Special:最多链接模板?--小躍撈出記錄) 2017年3月7日 (二) 04:00 (UTC)
差不多。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月7日 (二) 04:52 (UTC)

掛上{{神話專題}}板模[编辑]

Category:神话掛上{{神話專題}},並依照長度給予初始評級,諾维基共享资源,有相關圖片(關鍵字、標題)加入photo - "yes":如果條目需要添加圖片(|photo=yes),如沒有參考來源則加入ref - "yes":如果條目需要更多來源(|ref=yes) 蘭斯特--永遠的宮崎和香控 2017年3月7日 (二) 10:12 (UTC)

請至維基百科:專題委員會/技術支持進行申請。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月7日 (二) 15:19 (UTC)

自动化去除stub标记[编辑]

我在VPP里面那个DYK标准的讨论中提到了一个较为可靠的机器字数统计方式,即只处理内容部分的第一级段落。按照这个条件,机器数起字数只会少(漏掉列表或者是隐藏的内容)、不会多,因此可以较为安全地判断可以移除的模板。按照伪代码形式,过程描述如下:

求字数:

  1. article 为输入条目名
  2. htmlarticle 对应 HTML 页面,即 "https://zh.wikipedia.org/wiki/" + article 下载的结果
  3. dom 为解析 HTML 所得的 DOM(文档结构)树
  4. paras 为在 dom 上执行 CSS 选择器 #mw-content-text > p(正文区域下每个直接下属的段落(不含标题、代码框等元素))的结果
  5. 对于 paras 中的每个元素 p,将其:
    1. 检索所有 sup.reference 引用标签,去除之
    2. 檢索所有 span:not(:lang(zh)) 的外文內容,去除之(應該可以免疫一些輕小說攻擊)
    3. 檢索所有 span.noprint 的不打印內容,將其一併去除。
    4. 如果正在處理第一個 p,則檢索第一個b粗体文字,將其去除(輕小說標題)
    5. 將現在數出内文长度记为 len(p.text)
      • 在 beautifulsoup 中,元素内文所对应的属性为 text
      • 在 JavaScript DOM API 中,元素内文对应的属性为 innerText
      • len 操作应当考虑 UTF-16 代理对拆分的情况。如果使用的语言为 JavaScript,应当使用 [...str].length(或使用Array.from)而非 str.length 计算长度。Java和C#也有类似的问题。
      • len 操作应对字符串执行 NFC 标准化,以便近似用户可见的“字符”数量。要完全近似“字符”数量,可以使用perl 6、python等语言的“字素群”(grapheme)处理功能。(中文用到这种东西的概率不高。)
      • 在处理 len 之前或许应该去除各种不可见字符,避免用户恶搞。(我好像把人类想得太坏了?)
  6. 返回所有 len(p.text) 之和

主程序:

  1. 对于Category:小作品的每一个条目 a
    1. 如果 a 的名字空间为 0,且 a 的字数大于标准的 1.25 倍
      1. sa 的源码
      2. s 里面的模板都看一遍
        1. 把所有属于Category:小作品模板的去掉(这一步建议预置列表,不要每次都找一遍)
      3. 提交编辑

感谢User:老陳提供灵感。——Artoria2e5 保持讨论完整直接{{ping}}我回复 2017年3月9日 (四) 15:56 (UTC)

这个去和User:Jimmy Xu说。--Antigng留言) 2017年3月9日 (四) 15:59 (UTC)
另,1-3没有必要,直接使用api就好。--Antigng留言) 2017年3月9日 (四) 16:11 (UTC)
API给出的text属性只是直接提供了mw-content-text的内容而已,p还是得再跑选择器。用那玩意还要重新组织东西喂进DOM做选择,不像直接取页面有一步到位的东西……——Artoria2e5 保持讨论完整直接{{ping}}我回复 2017年3月9日 (四) 16:20 (UTC)

自動更新Wikipedia:特色條目/列表Wikipedia:特色列表/列表[编辑]

如題。目前的構想如下:

  1. 檢查引用{{Featured article}}(或{{Featured list}})的條目:
    1. 如果該條目名列Wikipedia:特色条目(或Wikipedia:特色列表):
      1. 如果該條目名列Wikipedia:特色條目/列表(或Wikipedia:特色列表/列表):
        很好,不用做任何事,繼續檢查下一個。
      2. 否則:
        列到Wikipedia:特色條目/列表(或Wikipedia:特色列表/列表)上。
    2. 如果該條目沒有名列Wikipedia:特色条目(或Wikipedia:特色列表):
      將該條目列到某個頁面,給人類檢查。(Tag1)
  2. 檢查沒有引用{{Featured article}}(或{{Featured list}})名列Wikipedia:特色条目(或Wikipedia:特色列表)的條目:
    1. 將該條目列到某個頁面,給人類檢查。(Tag2)
  3. 順便檢查引用{{Good article}}和名列Wikipedia:優良条目的條目,若有不一致處則將該條目列到某個頁面,給人類檢查。(Tag3)
以上。一天更新一次應該就可以。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月13日 (一) 07:44 (UTC)
參見討論。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月13日 (一) 07:45 (UTC)
被連鎖全保護。--小躍撈出記錄) 2017年3月13日 (一) 08:10 (UTC)
故需adminbot。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月13日 (一) 08:15 (UTC)
可是我的機器人沒辦法變成adminbot。--小躍撈出記錄) 2017年3月13日 (一) 08:17 (UTC)
@和平奮鬥救地球:還有一點,這無須動用到機器人,又不是大量的刷新列表,閣下可以自己去刷新。可以兩天一次。--小躍撈出記錄) 2017年3月13日 (一) 08:21 (UTC)
不是每天都有空做這事的。WP:BOTDEF:「機器人是指主要用於協助編者執行大量自動化、高速或機械式、繁瑣的編輯工作的電腦程式或指令碼及其所登入的帳戶。」另外adminbot的部分,就像J大和L大,再新建一個adminbot帳號即可。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月13日 (一) 08:37 (UTC)
所以省省吧!列表隱藏的地方有給代碼,請自貼吧!--小躍撈出記錄) 2017年3月13日 (一) 08:41 (UTC)
「所以」?試了一下,如果沒有更新在Wikipedia:特色条目(或Wikipedia:特色列表),單純使用該模板也不會更新之,因此才欲使用機器人定期檢查有沒有漏網之魚。-和平、奮鬥、救地球!留言歡迎加入維基Telegram群 2017年3月13日 (一) 08:58 (UTC)
/列表的部分,是不是直接用連結至此的頁面會比較好? --Kanashimi留言) 2017年3月20日 (一) 11:35 (UTC)

半自动任务:将“丶”改为正确顿号[编辑]

维基百科真不缺把“丶”当作顿号用的人。如果谁有空的话,可以开个半自动任务,清理一下这360处错误用法。——Artoria2e5 保持讨论完整直接{{ping}}我回复 2017年3月19日 (日) 20:37 (UTC)

得請有機器人的來幹。我一分鐘只能弄三四個因為多了會沖刷最近變更。--逆襲的天邪鬼留言) 2017年3月22日 (三) 12:34 (UTC)
居然完成了。 囧rz...--逆襲的天邪鬼留言) 2017年3月22日 (三) 14:34 (UTC)

半自动任务:将误用作标题的dt元素转为h4[编辑]

维基百科似乎有不少将WP:LIST#定義列表的“词汇”部分当作小标题用的地方。这样做既不符合Wikitext语义(Wikipedia:備忘單en:Help:Wiki_markup)及生成的HTML标签(dl“定义列表”、dt“定义的词汇部分”、dd“定义的词义部分”)的定义,也对于目录处理有弊无利。建议创建一个半自动任务,搜索正则表达式形如 \n(;([^:\n]+))\n([^:]?) 的Wikitext成分,并视情况决定是否转换为\n==== $2 ====\n$3的第四级标题。(表达式解释:一行由 ;开始,但不含:,且紧接的一行不以:开始。正则可以使用网页上的“高级”编辑工具类匹配到,但其对\n的处理不正确。)

如果条目内本来没有第四级标题,操作者应考虑在首段末尾加一个{{TOCLimit|3}}模板,以防目录过度膨胀。——Artoria2e5 保持讨论完整直接{{ping}}我回复 2017年3月20日 (一) 17:43 (UTC)

手动操作范例:修正标题缩短目录。——Artoria2e5🔧 讨论要完整回复请用ping 2017年3月21日 (二) 15:43 (UTC)

修正由于简繁不符匹配而失效的章节标题[编辑]

在维基百科上可以使用[[条目#章节]]的格式,链接到一个页面的某个章节。可是这个功能要求章节部分和相应的anchor位置包括完全匹配,显然是很难做到(除非这群人把phab:T160952“创建各种简繁ID”修了)。

假定有一个可以列出一个字符串 s 简单转换繁简后各种结果 cc[] 的函数 allVariants,我建议设计一个小工具和一个机器人任务解决这种问题(前者可用于编辑器内检查,后者可用于清理积压错误):

修复。给定 Wikitext wt,返回一个新的 Wikitext ret
retwt
wt 中搜索所有长得像链接的东西,令得到的字符串列表为一个集合 links。搜索的准确程度决定这个任务能不能做成全自动任务。
对于 links 中的每个页面 link
link 拆分为页面名称 page、章节位置 section、显示文字 display 三部分。
如果没有 section,继续检查下一个 link
section 编码为页面上会看到的 id 值。
参考anchorescape Parser function的实现,或按照这个瞎写的实现
获取page的HTML部分(HTML就够了),解析为dom树。
如果dom树上存在一个 ID 为 id 的节点,继续检查下一个 link
否则,将 section 进行繁简转换,得到一堆字串 ccsections
cc 中每个 ccsection 字串:
ccsection 进行 anchorescape 编码,得到 ccid
dom 数上寻找 ID 为 ccid 的节点。
如果找到,则将 ret 中的每一个 link 换为 "[[{link}#{ccsection}|{display}]]"的形式。也就是把section换成实际上存在的ccsection。
不知道原来的章节标题是怎么来的。大喊大叫,然后继续检查下一个 link
返回 ret

——Artoria2e5 讨论要完整回复请用ping 2017年3月23日 (四) 04:08 (UTC)