我正试图从维基媒体API中提取匿名编辑的详细信息,如下所示:
请注意“rcshow = anon”参数。
但是当我尝试将其导入R时,我发现我得到了许多非匿名编辑:
library(rjson)
json_file <- "http://en.wikipedia.org/w/api.php?action=query&list=recentchanges&format=json&rcstart=2014-01-01T00%3A00%3A00Z&rcdir=newer&rcnamespace=0&rcprop=user%7Ctimestamp%7Ctitle&rcshow=anon&rclimit=100&generator=allpages&gapnamespace=0&gaplimit=2"
json_data <- fromJSON(file = json_file)
user <- vector()
user <- sapply(json_data$query$recentchanges, function(x) c(user, x$user))
user
像这样:
[1] "ValterVBot"
[2] "67.87.234.41"
[3] "ValterVBot"
[4] "86.143.229.147"
[5] "Luan Francisco"
[6] "לערי ריינהארט"
[7] "Чаховіч Уладзіслаў"
[8] "Soulkeeper"
[9] "ValterVBot"
[10] "Soulkeeper"
知道发生了什么以及如何获得一组匿名编辑?
答案 0 :(得分:2)
首先,它在API沙箱中“无效”,您只需使用the sandbox on the English Wikipedia,而不是mediawiki.org。
如果仔细查看结果,您会发现所有非匿名条目都有type
external
。这意味着对那篇文章的维基数据页面进行了编辑,这些文章显示为匿名(我认为这是因为进行更改的维基数据用户可能不存在于本地维基上)。要删除这些修改,请在查询中设置rctype
以过滤掉external
: