如何从API获取给定维基百科页面的总编辑数?

时间:2014-03-03 22:23:08

标签: wikipedia-api

我实际上不希望列出每个编辑,但只获得它的计数。

此数据适用于左侧面板中链接的每篇文章:

https://en.wikipedia.org/w/index.php?title=Wikipedia&action=info

但这会生成包含表格,格式化等的完整网页,以及维基百科服务器的详尽信息。所以我问是否有办法只获得那些少数数字,并省略整个网站的拼抢。

1 个答案:

答案 0 :(得分:2)

可能不是您想要的答案,但无法获取此信息yet.

作为一种解决方法,您可以使用prop=revisions获取对该文章做出的所有修订。您可以从此处计算rev代码:

http://en.wikipedia.org/w/api.php?format=xml&action=query&titles=Wikipedia&prop=revisions&rvprop=ids&rvlimit=max

或者,您可以使用以下命令让YQL为您计算:

SELECT * FROM xml 
WHERE url="http://en.wikipedia.org/w/api.php?format=xml&action=query&titles=Wikipedia&prop=revisions&rvprop=ids&rvlimit=max" 
AND itemPath="/api/query/pages/page/revisions/rev"

示例输出(Link to full output)

{
    "query": {
        "count": 500, //This is the total amount of edits
        "created": "2014-03-04T02:29:42Z",
        "lang": "en-US",
        "results": {
            "rev": [{
                "parentid": "597995345",
                "revid": "598005528"
            }, {
                "parentid": "597994174",
                "revid": "597995345"
            }, {
                "parentid": "597891867",
                "revid": "597994174"
            }]
        }
    }
}

不幸的是,用户检索修订版数据的upper limit500,而机器人5000则为{{1}}。

要获得准确的计数,您必须在服务器上设置解析器,以便在用户查询您身边的数据时从信息页面捕获确切的计数。