Jump to content
MediaWiki

API:Revisions/Sample code 1

From mediawiki.org

Python

[edit ]
#!/usr/bin/python3
"""
 get_pages_revisions.py
 MediaWiki API Demos
 Demo of `Revisions` module: Get revision data with content for pages
 with titles [[API]] and [[Main Page]]
 MIT License
"""
importrequests
S = requests.Session()
URL = "https://www.mediawiki.org/w/api.php"
PARAMS = {
 "action": "query",
 "prop": "revisions",
 "titles": "API|Main Page",
 "rvprop": "timestamp|user|comment|content",
 "rvslots": "main",
 "formatversion": "2",
 "format": "json"
}
R = S.get(url=URL, params=PARAMS)
data = R.json()
pages = data["query"]["pages"]
for page in pages:
 print(page["revisions"])

PHP

[edit ]
<?php
/*
 get_pages_revisions.php
 MediaWiki API Demos
 Demo of `Revisions` module: Get revision data with content for pages with titles [[API]] and [[Main Page]]
 MIT License
*/
$endPoint = "https://www.mediawiki.org/w/api.php";
$params = [
 "action" => "query",
 "prop" => "revisions",
 "titles" => "API|Main Page",
 "rvprop" => "timestamp|user|comment|content",
 "rvslots" => "main",
 "formatversion" => "2",
 "format" => "json"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
foreach( $result["query"]["pages"] as $k => $v ) {
 var_dump( $v["revisions"] );
}

JavaScript

[edit ]
/*
 get_pages_revisions.js
 MediaWiki API Demos
 Demo of `Revisions` module: Get revision data with content for pages with titles [[API]] and [[Main Page]]
 MIT License
*/
varurl="https://www.mediawiki.org/w/api.php";
varparams={
action:"query",
prop:"revisions",
titles:"API|Main Page",
rvprop:"timestamp|user|comment|content",
rvslots:"main",
formatversion:"2",
format:"json"
};
url=url+"?origin=*";
Object.keys(params).forEach(function(key){url+="&"+key+"="+params[key];});
fetch(url)
.then(function(response){returnresponse.json();})
.then(function(response){
varpages=response.query.pages;
for(varpinpages){
console.log(pages[p].revisions);
}
})
.catch(function(error){console.log(error);});

MediaWiki JS

[edit ]
/*
	get_pages_revisions.js
	MediaWiki API Demos
	Demo of `Revisions` module: Get revision data with content for pages with
	titles [[API]] and [[Main Page]]
	MIT License
*/
varparams={
action:'query',
prop:'revisions',
titles:'API|Main Page',
rvprop:'timestamp|user|comment|content',
rvslots:'main',
formatversion:'2',
format:'json'
},
api=newmw.Api();
api.get(params).done(function(data){
varpages=data.query.pages,
p;
for(pinpages){
console.log(pages[p].revisions);
}
});

AltStyle によって変換されたページ (->オリジナル) /