问题标签 [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 回答
4860 浏览

python - Python:异常返回空值

我有一些 Python 经验,但由于缺乏正规培训,我从未使用过 try & except 函数来捕获错误。

我正在从维基百科中提取一些文章。为此,我有一系列标题,其中一些最后没有任何文章或搜索结果。我希望页面检索功能只是跳过这几个名称并继续在其余部分上运行脚本。可重现的代码如下。

运行它的库使用这样的方法。通常这是非常糟糕的做法,但由于这只是一次性的数据提取,我愿意更改库的本地副本以使其正常工作。编辑我现在包含了完整的功能。

我应该怎么做才能只检索没有给出错误的页面。也许有一种方法可以过滤掉列表中出现此错误或某种错误的所有项目。对于不存在的页面,返回“NA”或类似内容会很好。在没有通知的情况下跳过它们也可以。谢谢!

0 投票
1 回答
50 浏览

python - python 2.x 维基百科解析

我有这个代码:

是将节点的邻域保存在 csv 文件中。但是当我尝试运行它时,我收到了这个错误:

当我尝试运行另一个 Wikipedia 链接(如https://en.wikipedia.org/wiki/Technology )的代码时,我遇到了同样的错误。它工作的唯一页面是:https ://en.wikipedia.org/wiki/Computer_science 。这是一个问题,因为我需要在更多站点上收集数据,而不仅仅是计算机科学站点。

谁能给我一个提示如何处理它?

非常感谢。

0 投票
2 回答
801 浏览

python - Pywikibot 安装

我想知道是否可以在设置 Pywikibot 时获得一些帮助。

我能够使用

git clone --recursive https://gerrit.wikimedia.org/r/pywikibot/core.git

按照维基百科页面说明。

我迷路的地方是尝试使用 generate_user_files.py 创建 user-config.py 文件时。我收到一条错误消息:“没有名为请求的模块”

提前致谢

0 投票
1 回答
349 浏览

python - 通过 Pywikibot 检查 Wikidata 上是否已存在具有特定标签和描述的项目

我正在寻找一种方法来找出具有特定标签和描述的项目是否已经存在于 Wikidata 上。此任务应由 Pywikibot 执行。如果它已经存在,我不希望我的 Bot 创建一个新项目。到目前为止,我的代码如下所示:

0 投票
2 回答
59 浏览

regex - 正则表达式可以做到这一点吗?

前:

是否可以找到|and之间的任何内容]],然后用它来替换“wikiwoodenboek 音频”

后:

0 投票
0 回答
124 浏览

python - 如何一次提取多篇维基百科文章?

我正在使用 Python 2.7 Anaconda。

我使用了 Wikipedia Python 包来提取文章标题列表:

有没有使用方法

为了一次提取多篇文章?我使用了一个 for 循环,但它需要很长时间:

我正在寻找一种更高效/更快的解决方案。

0 投票
1 回答
279 浏览

python - Pywikibot 获取正文中使用的链接

是否可以使用 Pywikibot 返回 wiki 页面内容文本中使用的唯一文章超链接?我已经尝试过iterwikilinks(),但这并没有返回我正在寻找的正确链接。是否有其他方法或 API 调用?

0 投票
1 回答
141 浏览

pywikibot - 如何在 pywikibot 中检测 maxlag 异常

我正在开发一个维基百科机器人来分析编辑贡献。不幸的是,完成一次运行需要数小时,在此期间,维基百科的数据库复制延迟(在运行期间的某个时间点)肯定会超过 5 秒(默认的 maxlag 值)。API 的 maxlag 参数中的建议是检测滞后错误,暂停 X 秒并重试。

但我所做的只是阅读以下内容:

如何检测错误并恢复它?这是错误:

我突然发现该行代码中抛出的异常:

但是随后为用户重新启动贡献似乎非常低效。一些用户有 400,000 次编辑,所以从头开始重新运行是很多倒退。

我已经搜索了这样做的示例(检测错误并重试),但我发现没有任何用处。

0 投票
1 回答
1680 浏览

python - 处理消歧错误?

我正在使用该wikipedia库,我想将其DisambiguationError作为异常处理。我的第一次尝试是

在执行期间未到达第 3 行。一个更普遍的问题是:我怎样才能找到像这样的库特定类的错误类型?

0 投票
1 回答
161 浏览

mediawiki - 如何使用 Nuke 和 Pywikibot 删除 mediawiki 页面

我一直在为这项任务绞尽脑汁。我尝试过使用 Mediawiki Nuke 扩展和 pywikibot,但没有成功。我知道这里缺少一些简单的东西。我似乎无法正确识别页面,因为我在 Mass Delete 中使用的所有模式都没有带回任何点击,pywikibot 说 Skipping: [[mediawiki:Some Page I want To Delete -- Page 1]] 不存在。

我以自己、官僚和管理员的身份登录。MW 版本 1.26。我可以在页面上并使用“删除”选项删除单个页面。

Nuke:我将用户名、ip 字段留空,我在“批量删除”页面上的页面名称模式中输入了页面标题或部分标题,但无济于事。我究竟做错了什么?

示例:我要删除的某些页面 -- 第 1 页、某些页面%、%某些页面%

pywikibot:也许是我的 user-config.py?

我创建了一个包含要删除的页面的文件。

文件:delete_pages.txt

样本输出

编辑:

我确实得到了 Nuke:Mass Delete 来找到一些要删除的页面。它只会找到最近的页面。我不知道最近是什么意思,它找到了一些页面,但其他页面没有。