【发布时间】:2014-03-04 10:41:08
【问题描述】:
我实际上并不想列出每个编辑,而只想得到它的数量。
此数据可用于链接中左侧面板上的每篇文章:
https://en.wikipedia.org/w/index.php?title=Wikipedia&action=info
但这会生成包含表格、格式等的完整网页,并且它对于维基百科服务器来说是详尽无遗的。所以我问是否有办法只获得这几个数字并省略整个网站的抓取。
【问题讨论】:
标签: wikipedia-api
我实际上并不想列出每个编辑,而只想得到它的数量。
此数据可用于链接中左侧面板上的每篇文章:
https://en.wikipedia.org/w/index.php?title=Wikipedia&action=info
但这会生成包含表格、格式等的完整网页,并且它对于维基百科服务器来说是详尽无遗的。所以我问是否有办法只获得这几个数字并省略整个网站的抓取。
【问题讨论】:
标签: wikipedia-api
可能不是您想要的答案,但无法获取此信息yet.
作为一种解决方法,您可以使用prop=revisions 来获取对文章所做的所有修订。您将能够从这里计算rev 标签:
或者,您可以使用以下命令让 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"
{
"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 limit 是500,而机器人则是5000。
要获得准确的计数,您必须在服务器上设置一个解析器,以在用户从您这边查询数据时从信息页面捕获准确的计数。
【讨论】:
query-continue和多个请求获得总数。