2017-09-02 120 views
0

我有一个关于维基媒体/维基百科API的简单查询。从维基百科/维基媒体修订页面提取更改

我必须从“revids”列表中获取所做的更改。我能够获取一批“revids”的XML内容,但我未能仅提取已更改的文本。

API是否提供任何方式来只提取更改的句子?如果没有任何可以完成这项工作的外部脚本/模块?

查询获取的修订细节:https://en.wikipedia.org/w/api.php?action=query&prop=info|revisions&rvprop=user|userid|ids|tags|comment|content&format=jsonfm&revids=1228415

我将不胜感激任何建议/解决方案,可以解决这个问题!

(目前,我使用的是Wikitools Python模块进行查询)

回答

0

你可以得到新老文字与action=compare之间的差异,但部分由wikitext的行文本,而不是句子,不是吗”这意味着机器可读,并且通常不是那么有用。由于您使用的是Python,客户端库deltas可能对您更好。

+0

为了提供一些上下文,我尝试使用[Wikipedia-Detox](https://github.com/ewulczyn/wiki-detox)出版物的作者使用的相同方法来提取在特定修改页面。他们必须部署类似的方法来从Talk页面中提取更改。我无法弄清楚他们是如何实现它的,他们是否使用了与上述相同的库? –

+0

看起来他们有自己的[diff逻辑](https://github.com/ewulczyn/wiki-detox/blob/master/src/data_generation/diff_utils.py)?最简单的方法就是问问他们。对于这些问题还有一个[研究邮件列表](https://lists.wikimedia.org/mailman/listinfo/wiki-research-l)。 – Tgr

+0

我看了一下那个文件,却找不到像输入输出格式这样的高级信息。显然,我已经通过电子邮件向作者提供了有关此查询的信息,但尚未收到回复。我希望同时获得一个通用的解决方案。我将尝试在邮件列表上移动讨论,以吸引更多观众。 –