【发布时间】:2022-11-14 06:13:16
【问题描述】:
我试图提取数百页的维基百科修订历史。但是,Mediawiki API 将任何给定页面的返回限制设置为 500 (https://www.mediawiki.org/wiki/API:Revisions)。
“rvcontinue”参数允许您提取下一个 500 等等,但我不确定如何在 R 中自动执行此操作。(我看过一些 Python 代码示例 (Why does the Wikipedia API Call in Python throw up a Type Error?),但我没有知道如何在 R 中复制它)。
下面附加了一个页面的示例 GET 请求代码,感谢任何帮助!
base_url <- "http://en.wikipedia.org/w/api.php"
query_param <- list(action = "query",
pageids = "8091",
format = "json",
prop = "revisions",
rvprop = "timestamp|ids|user|userid|size",
rvlimit = "max",
rvstart = "2014-05-01T12:00:00Z",
rvend = "2021-12-30T23:59:00Z",
rvdir = "newer",
rvcontinue = #the continue value returned from the original request goes here
)
revision_hist <- GET(base_url, query_param)
理想情况下,我的 GET 请求会每 500 个值自动更新 rvcontinue 参数,直到没有剩余。
谢谢!
【问题讨论】:
标签: r mediawiki-api