问题标签 [pywikibot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
80 浏览

mediawiki - 在维基共享资源中测试图片上传

我想用来pywikibot将一批图像上传到 Wikimedia Commons。但是,当您在 Commons 中添加图像时,如果出现错误,您将无法轻松删除它们。有没有办法在本地安装 Wikimedia Commons 以进行验证和测试?

我尝试安装mediawiki,但似乎无法使用pywikibot.

是否有一些具体的程序来做到这一点?

0 投票
0 回答
419 浏览

python - 尝试配置 PyWikiBot 时遇到属性错误

我目前正在关注Pywikibot 的 Python 3 教程,并在运行教程中包含的代码时继续遇到属性错误,如下所示。

虽然这不是实现目标的最后一步,但它已成为我前进的障碍。从这段代码中,我应该收到一个形式的输出,ItemPage-object但是我只收到以下错误:

我对编程很陌生,只是刚刚接触到表面,但我花了一些时间研究属性错误及其可能出现的方式,以及模块背后的基础知识。然而,在这一点上,我很煎熬。是否有可能是我的文件/文件夹组织导致了这个问题,或者我缺少什么更明显的东西?

我还想知道我是否会更好地使用 Wikipedia API 从 Wikipedia/Wikidata 为我的项目提取信息和资源。

谢谢,如果您需要更多信息,请告诉我。

0 投票
3 回答
274 浏览

pywikibot - 如何使用环境变量中的密码登录 pywikibot?

我想从 Docker 容器内运行 pywikibot,所以我可以从云(可能是 Azure)运行一些 cron 作业。

我将我的 bot 和 user-config.py 文件的代码添加到我的 Docker 容器中,但是当它尝试更新某些页面时,它使用 getpass 从输入中读取密码:

有没有办法从某个变量给它密码?我看到创建.lwp文件的 login.py 脚本使用site.login()which uses api.LoginManager,但没有在任何地方给它密码,所以它从输入中获取它。有什么方法可以让我不费吹灰之力地修补它吗?还是我需要一些更新的 pywikibot 分支?

0 投票
2 回答
425 浏览

python - 使用 pywikibot 从 Mediawiki 服务器下载完整的页面列表,而无需遍历页面

我有一个大型(50K+ 页)Mediawiki wiki,我需要有效地获取所有页面的列表,按上次更新时间排序。我正在使用 pywikibot 在 Python 中工作。文档暗示这是可能的,但我还没有解码如何做到这一点。(我可以轻松下载多达 500 页。)有没有一种相当有效的方法来做到这一点,它比按字母顺序下载 500 个批次、逐页获取更新时间并合并批次更好?

0 投票
1 回答
616 浏览

python - 如何在 python 中获取文章的维基百科外链接?

我想获得维基百科文章的外链。我所说的外链是指What links here维基百科文章中的部分链接。

例如,考虑一下data mining维基百科的文章。What links here本文的部分位于:https ://en.wikipedia.org/wiki/Special:WhatLinksHere/Data_mining

我尝试pywikibot如下使用。

但是,似乎categoriesin pywikibot 与维基百科文章的外链接不同。因此,我想知道如何在 python 中做到这一点。

注意:我不仅限于 pywikibot,也乐于探索其他库,例如mediawiki.

如果需要,我很乐意提供更多详细信息。

0 投票
1 回答
59 浏览

python - 如何获取维基百科页面的所有存档讨论页面?

我正在使用以下代码来获取给定维基百科页面的讨论页面。

这工作正常,但它不会返回所有存档的讨论页。有没有一种方法可以以编程方式查找给定讨论页的档案并遍历它们以获取文本?

非常感谢!

0 投票
2 回答
112 浏览

python - 如何获取有关 wiki 页面恢复编辑的详细信息?

pywikibot在 python 中使用来获取维基百科页面的所有修订。

import pywikibot as pw wikiPage='Narthaki' page = pw.Page(pw.Site('en'), wikiPage) revs = page.revisions(content=True)

我如何知道哪些修订是还原的?我从https://xtools.wmflabs.org/articleinfo/en.wikipedia.org/Narthaki看到该页面有一个还原编辑。不确定如何从修订对象中获取有关此的更多信息。

请求您的帮助。非常感谢!

0 投票
1 回答
175 浏览

python - 如何按贡献者解析维基百科讨论页内容?

我正在寻找解析维基百科讨论页(例如,https ://en.wikipedia.org/wiki/Talk:Elon_Musk )。我想循环浏览贡献者/编辑的文本。不知道我该怎么做。现在,我有以下代码:

似乎很难解析文本(即 s)并找到每个贡献者制作的谈话文本。不确定贡献者的谈话从哪里开始和结束,以及回应他人发表的谈话文本的谈话文本是什么。有没有办法让讨论页返回我可以循环的片段?

非常感谢您的帮助!

0 投票
1 回答
656 浏览

python - 如何使用 pyWikiBot 创建或编辑页面

MediaWiki API 具有编辑功能,可在 pywikibot 中使用。根据https://doc.wikimedia.org/pywikibot/master/api_ref/pywikibot.site.html

使用页面参数调用该函数:

页面需要构建源。我找不到一个例子。

例如:使用 Pywikibot 时如何添加内容以编辑摘要?

只有一行作为接受的答案,并且不使用站点或页面。我很困惑。

使用 python 代码直接使用 pyWikiBot 创建和或编辑页面的正确方法是什么?(不是脚本...)

https://github.com/wikimedia/pywikibot/blob/master/pywikibot/page/init .py# L2328

有构造函数:

不幸的是,它没有正确记录,并且是包含所有类的 6000 行init .py 文件的一部分。

尝试的时候

我明白了

0 投票
1 回答
331 浏览

pywikibot - 如何在 PyWikiBot 上禁用“睡眠 N 秒”

Pywikibot 的 Mediawiki Talk 页面上,这个问题已经在大约 2 年前被问到了。

那里的答案是“你不应该”,而maxthrottle不是正确的参数。

对于 Intranet 用例,油门大多适得其反。尤其是在测试自动化时,无论 API 访问次数多低,都会启动油门。因此,我宁愿关闭 if 或将其设置为几毫秒的合理时间,而不是默认的 10 秒。

如何将油门设置为不同的时间?