API:Revisions/Sample code 1
Appearance
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); } });