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

python - 什么是查找任何英语单词的正则表达式,用于 pywikibot 的查找和替换模式

我编写了以下程序来断开 ta.wikipedia 页面中的英文单词的链接。Delink 是指去掉英文单词前后的方括号。我是PAWS(pywikibot)的新手。似乎可以通过正则表达式(AZ,az)完成删除。如何?

对不起我的英语。英语对我来说是一种桥梁语言。我不是要调试。但是如何避免以下重复类型的代码。例如,以下 26(字母)代码有助于删除 [[ 括号。

然后我必须删除始终位于单词末尾的小写字母。因为,每个单词都以小写结尾。要删除小写字母,我必须编写以下代码,

我认为这不是好的编码。所以我想使用正则表达式。我希望我满足了对 wikimedia 项目的需求。

换句话说,我只想删除英文单词的括号而不是英文单词。

0 投票
3 回答
121 浏览

wikipedia - 如何从维基百科中提取信息(例如类型和子类型)?

我想从维基百科中提取类型信息。例如,我想找到:

  • 所有“卡罗莱纳黑豹队球员”的名单
  • 所有“颜色”的列表
  • 所有“NFL球队”的名单
  • 所有“月份”的列表

如果有一种干净的方法可以做到这一点,有什么想法吗?

显然,一种替代方法是使用 API,但据我所知,使用现有 API 从 Wiki 中提取此类信息并非易事。

0 投票
1 回答
114 浏览

python - 如何找出具有 wikidata 代码 Q89 =>(apple) 的项目的名称

如何找出具有wikidata代码Q89(苹果)的项目的名称,对于属性我做了一个字典,但是对于项目代码我找不到任何东西,我正在使用pywikibot进行其他操作,有什么功能吗那?

0 投票
1 回答
1146 浏览

python-2.7 - 如何获取特定的维基百科页面部分?

我想创建一个演员和他们演过的电影的图形数据库。为了获得演员和电影的列表,我正在尝试使用 pywikibot 解析器,但是当我只想要页面的电影部分时,我只能获得整页。有没有办法解析页面,以便我可以获取电影目录?这是我到目前为止所做的:

一个想法是返回与演员相关的所有链接页面,因为大多数电影都是链接的。我获取文本数据的格式如下:

我该怎么做才能只获取页面的电影部分?

0 投票
0 回答
150 浏览

python - 使用 pywikibot,如何检索里面有嵌套项目的项目?

使用此示例,我如何检索电子页面上的交互值?

我被困在这个

我得到的只是另一个 itempage 对象。(蟒蛇3.6)

0 投票
1 回答
90 浏览

python - wikipedia.getSite() 的替代品是什么?还是仍然可以使用?

我运行了一个 pywikibot 示例代码,但由于 AttributeError 而中止。追溯是...

wikipedia.getSite() 的替代品是什么?还是仍然可以使用?

0 投票
1 回答
143 浏览

python - 使用多处理加速带有 Wikidata 的 Pywikibot 时出现死锁?

我在加速 Pywikibot 方面遇到了问题。我在 StackOverflow 上看到了相关问题,但它们仅部分适用于我的问题:

  • throttle=False尽可能地设置,但机器人仍然很慢。
  • 我不能使用此处PreloadingPageGenerator建议的类似内容,因为我不是使用 Bot 来访问 Wikipedia 而是 Wikidata。就我而言,请求看起来像这样

    /li>

我现在尝试使用multiprocessing,因此可以一次将多个请求发送到 API,这样就无需等待响应才能继续下一个请求,如下所示

但是在我运行程序的那一刻,它甚至没有完成第一个请求,因为它被卡住了。我跟着这个错误pywikibot/data/api.py:1500 submit()

通过pywikibot/comms/http.py:361 fetch()

to pywikibot/comms/threadedhttp.py:359 _join(),获得的锁似乎永远不会被释放

我现在的问题是:这是一个错误pywikibot吗?我是否multiprocessing以错误的方式应用了这个问题?在我的具体情况下是否有其他解决方案可以加快速度pywikibot

0 投票
2 回答
597 浏览

python - 如何使用 pywikibot 登录 wikidata

我正在尝试使用 pywikibot 从 wikidata 访问数据。我正在尝试使用数据对象的名称而不是代码来执行此操作。当我运行这个脚本时:

我收到此错误消息:

但是,这让我感到困惑,因为当我运行以下脚本时(Q9684 是纽约时报的 wikidata 代码):

一切正常,我得到:

我也尝试过运行:

但后来我得到了错误:

我的 user-config.py 文件位于同一目录中,如下所示:

取消注释最后两行并没有什么不同。

有人知道这里的问题吗?为什么 pywikibot 在我搜索“纽约时报”时希望我登录,但在我使用代码时却不希望我登录?

0 投票
2 回答
498 浏览

python - Pywikibot MediaWiki 查询 API

我有一个维基百科文章的数据转储,仅按其 pageid 列出,我希望按名称空间过滤它们。编写一些 python(可能使用 requests 模块)来调用MediaWiki Query API并使用 pageids 参数一次查询命名空间 50会相对容易。

但是,我打算改用 Pywikibot,因为查询 API 的最佳实践和错误处理可能已经融入 Pywikibot,如果我犯了逻辑错误并过度查询 API,我的 IP 被禁止的可能性就较小。(此外,我希望为我未来的机器人写作努力获得这个模块的经验)

但是,我真的无法为 Pywikibot 找到非常好的文档,并且在现有文档中找到有关此 API 的语言时遇到了麻烦。我还尝试了各种其他 python 包,希望能找到这个 API 的绑定(绑定的正确用法吗?),但无济于事。

0 投票
1 回答
324 浏览

python - 从 pywikibot 中的 wikidata 获取“也称为”属性

我试图从 wikidata 中提取“也称为”信息。例如,通过访问 elvis 的页面(https://www.wikidata.org/wiki/Q303),我想获得“Elvis,Elvis Aaron Presley,The King,The King Of Rock'n'Roll”的信息

我在 Python 3.5 上使用 pywikibot 作为脚本。

知道我可以抓取页面的文本(似乎不包含这些同义词),以及右侧带有翻译的 Itempage。

先感谢您!