问题标签 [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 投票
2 回答
117 浏览

python - 无法在 pywikibot 中运行任何脚本

我正在尝试使用 pywikibot,但我不能使用任何脚本。它们都返回相同的错误消息:

我在 python 或 pywikibot 方面没有经验,所以我不确定发生了什么。我错过了什么?

0 投票
1 回答
58 浏览

python - 如何使用 Pywikibot 遍历 CSV 文件

我想尝试将一系列项目上传到 test.wikidata,创建项目,然后添加初始声明 P571。csv 文件有时有日期值,有时没有。当没有给出日期值时,我想写出一个占位符“某个值”。

想象一个像这样的数据框:

但是,我不确定使用 Pywikibot 如何使用 pywikibot 遍历 csv 文件以为每一行创建一个项目并添加一个语句。这是我写的代码:

当我通过 PAWS 运行它时,我收到以下消息:KeyError: 'date'

但我认为这里真正的问题是我不确定如何让 Pywikibot 遍历数据框的每一行并为每个新的日期值创建一个新的声明。对于好的示例和文档,我会重视任何反馈或建议。非常感谢!

0 投票
1 回答
78 浏览

pywikibot - 使用 pywikibot 的维基百科修订历史:修订大小(后续)

我想跟进这个线程:Wikipedia revision history using pywikibot

我正在尝试使用 pywikibot 5.2.0 获取我的 Wikipedia 页面修订列表的“修订大小”(更改的字节数)变量,但在我的输出中找不到相应的变量。

这是我定义函数的方式:

我将一个包含 3,245 个字符串(维基百科页面的标题)向量的 R 文件导入我的 Python 编辑器并运行get_page_revisions返回 12 列和 379,426 个修订意见的函数。因此,我得到以下列:“ revid, _text, timestamp, user, anon, comment, minor, rollbacktoken, _parent_id, _content_model, _sha1, slots”。

我没有获得尺寸信息。我究竟做错了什么?

谢谢!

0 投票
2 回答
139 浏览

python - 当标题包含未转义的撇号 (') 时,如何使用 pywikibot.Page(site, title).text?

我有一个名为城市的字符串列表,其中每个字符串都是一个城市名称,也是维基百科页面的标题。对于每个城市,我都在获取维基百科页面,然后查看它的文本内容:

我列表中的一个城市是一个名为L'Aquila的地方 ,它没有返回任何文本(而其他条目是)。我想那是因为' 名字中的。所以我过去常常re.sub逃避' 并传入该结果。这给了我我的期望:

结果:

但问题是我不想硬编码城市名称,我想使用列表中的字符串。当我把它传入时,它不会给我任何 page.text 的结果:

结果:

我打印出我从列表中获取的城市元素的值和类型,它是一个字符串,所以我不知道为什么它在上面起作用,但在这里不起作用。这些有什么不同?

0 投票
1 回答
56 浏览

mediawiki - MediaWiki 的默认 EventStream 端点是什么?

我正在本地建立一个基于 MediaWiki 的网站。它在 localhost 上与 Apache 一起运行。我想设置一些脚本来使用我的 wiki 事件流。

MediaTech 的文档显示了这样的示例:

但我找不到任何关于新安装的默认流端点在哪里的信息。我没有设置任何子域或任何东西,我发现的所有示例都使用 WMF 流。

我需要连接到哪个端点才能使用我的 wiki 事件流?

谢谢!

0 投票
1 回答
59 浏览

python - Pywikibot - 查找页面图像的源站点

我浏览了维基百科上的活人类别,并收集了页面图像。问题是,一些图像存储在 wikimedia commons 站点上,而一些图像存储在原始 wikipedia:en 站点上。我想知道图像的存储位置(如果它存储在除 en:wiki 和 commons 之外的其他地方)

这很好,如果维基百科 .exists() 输出 False,我可以检查公共资源,但我担心图像会存储在不同站点上的情况。

我已经尝试过 Page.image_repository 属性,但是即使页面图像不存在并且存储在 wikipedia:en 上,它也会返回 commons

有没有办法从 Page 对象中获取原始站点?因为我知道这可能的唯一方法是下载 HTML 页面并解析它,这太复杂了。

0 投票
2 回答
196 浏览

python - 如何列出从特定 IP 地址对维基百科所做的所有匿名(因此 IP 公开)编辑?

假设我有一个 IP 地址,例如匈牙利议会的 IP 地址193.224.28.151

如何获取使用此 IP 地址进行的所有 Wikipeida 编辑的列表?

汤姆斯科特网页上,我读到:

这是一个事实:维基百科存储匿名用户的 IP 地址。

这是另一个事实:来自议会大厦的所有网络流量都是通过两个代理服务器之一发送的——这意味着从议会内部对维基百科的每次匿名编辑都归因于两个 IP 地址之一。

我相信你可以看到这是怎么回事。

我还没有找到这个项目的存储库。如果它可以在浏览器中完成,或者可以使用 Python,那就太好了。

0 投票
1 回答
47 浏览

python - 有什么 api 可以下载存储在 mediawiki 服务器中的所有 excel 文件,以便使用 pandas 进行数据分析?

给定一组 excel 文件,我有一个 python 脚本来进行数据分析。现在我们正在尝试通过定期搜索 mediawiki 服务器以查找最近上传的任何 excel 文件并应用我的脚本来自动执行此步骤。

我们正在尝试查看是否有任何方法可以至少获取 excel 文件的 url。

任何人都可以帮助我们吗?

0 投票
2 回答
105 浏览

mediawiki - 从维基百科页面的摘要部分获取链接

我正在尝试从维基百科页面的摘要部分中提取链接。我尝试了以下方法:

此 url 提取Deep learning页面的所有链接: https ://en.wikipedia.org/w/api.php?action=query&prop=links&titles=Deep%20learning

为了提取与任何部分关联的链接,我可以根据部分 id 进行过滤 - 例如,

对于Definition同一页面的部分,我可以使用此网址:https ://en.wikipedia.org/w/api.php?action=parse&prop=links&page=Deep%20learning§ion=1

对于Overview同一页面的部分,我可以使用此网址:https ://en.wikipedia.org/w/api.php?action=parse&prop=links&page=Deep%20learning§ion=2

但我无法弄清楚如何只从summary部分中提取链接

在此处输入图像描述

我什至尝试使用 pywikibot 提取链接页面并调整plnamespace变量,但无法仅获取摘要部分的链接。

0 投票
1 回答
61 浏览

sql - 如何让你在维基百科中编辑最多的贡献者

我正在做一个游戏化网络应用程序来帮助维基媒体的社区健康。

我想找出哪些编辑在上周编辑了与“Jake”相同的页面最多或最后一次编辑 100 次或类似的内容。

我知道我的查询,但我不知道我需要什么表,因为 Wikimedia DB 布局一团糟。

所以,我想获得类似的东西

用户名 出现次数 页面
米奇 13 奥巴马,...

所以查询将类似于(我正在接受建议):

  1. 获取用户“Jake”在上周编辑的页面。
  2. 获取上周该页面的贡献者。
  3. 对于这些贡献者中的每一个,获取他们在上周编辑的页面,看看它们是否与“Jake”编辑的页面匹配并计算它们。

我尝试在Pywikibot中做一些更简单的事情,但它非常非常慢(Jake 的最后 500 次贡献需要 20 秒)。

我只获取编辑过的页面并获取该页面的贡献者并仅计算它们,这非常慢。

我的 pywikibot 代码是:

和功能

PS:我可以访问DB 副本,我想这比 Wikimedia API 或 Pywikibot 快得多