API 用于在维基百科上进行编辑
API for getting edits on Wikipedia
我想获取维基百科页面上编辑前后的文本。我有这个 url:
https://en.wikipedia.org/w/index.php?diff=328391582&oldid=328391343
但是,我想要 json 格式的文本,以便我可以直接在我的程序中使用它。 MediaWiki 是否提供任何 API 在编辑后给我新旧文本,或者我是否必须使用解析器解析 HTML 页面?
试试这个:https://www.mediawiki.org/wiki/API:Revisions
有几个选项可能有用,例如:
rvparse:解析修订内容。出于性能原因,如果使用此选项,rvlimit 将强制为 1。
rvdifftotext:要区分每个修订的文本。
如果这些都失败了,还有
- rvprop / ids:获取 revid,从 1.16 开始,获取 parentid
然后一旦你得到父ID,你就可以比较两者的文本。
在 JavaScript 中留言,如何查询维基百科 API 以获取所有最近的编辑。
在某些情况下文章被锁定,最近的编辑无法看到。
This article is semi-protected due to vandalism
如下查询 API 允许读取所有编辑。
fetch("https://en.wikipedia.org/w/api.php?action=query&origin=*&prop=revisions&format=json&titles=Timeline_of_the_2020_United_States_presidential_election&rvslots=*&rvprop=timestamp|user|comment|content")
.then(v => v.json()).then((function(v){
main.innerHTML = JSON.stringify(v, null, 2)
})
)
<pre id="main" style="white-space: pre-wrap"></pre>
另见 How to get Wikipedia content as text by API?
你可以试试WikiWho。它跟踪维基百科中写入的每个标记(准确率为 95%)。简而言之,它为每个令牌分配 ID,并根据上下文跟踪它们。您只需要检查两次修订之间的 ID 是否存在(即使修订不连续也有效)。
有一个wrapper and a tutorial。教程中有一个错误,因为文章的名称发生了变化(而不是“生物玻璃”,你应该寻找“Bioglass_45S5”)
我想获取维基百科页面上编辑前后的文本。我有这个 url:
https://en.wikipedia.org/w/index.php?diff=328391582&oldid=328391343
但是,我想要 json 格式的文本,以便我可以直接在我的程序中使用它。 MediaWiki 是否提供任何 API 在编辑后给我新旧文本,或者我是否必须使用解析器解析 HTML 页面?
试试这个:https://www.mediawiki.org/wiki/API:Revisions
有几个选项可能有用,例如:
rvparse:解析修订内容。出于性能原因,如果使用此选项,rvlimit 将强制为 1。
rvdifftotext:要区分每个修订的文本。
如果这些都失败了,还有
- rvprop / ids:获取 revid,从 1.16 开始,获取 parentid
然后一旦你得到父ID,你就可以比较两者的文本。
在 JavaScript 中留言,如何查询维基百科 API 以获取所有最近的编辑。
在某些情况下文章被锁定,最近的编辑无法看到。
This article is semi-protected due to vandalism
如下查询 API 允许读取所有编辑。
fetch("https://en.wikipedia.org/w/api.php?action=query&origin=*&prop=revisions&format=json&titles=Timeline_of_the_2020_United_States_presidential_election&rvslots=*&rvprop=timestamp|user|comment|content")
.then(v => v.json()).then((function(v){
main.innerHTML = JSON.stringify(v, null, 2)
})
)
<pre id="main" style="white-space: pre-wrap"></pre>
另见 How to get Wikipedia content as text by API?
你可以试试WikiWho。它跟踪维基百科中写入的每个标记(准确率为 95%)。简而言之,它为每个令牌分配 ID,并根据上下文跟踪它们。您只需要检查两次修订之间的 ID 是否存在(即使修订不连续也有效)。
有一个wrapper and a tutorial。教程中有一个错误,因为文章的名称发生了变化(而不是“生物玻璃”,你应该寻找“Bioglass_45S5”)