DS4UX (Spring 2016)/Panama Papers





In this project, we will explore a few ways to gather data using two Wikipedia APIs: one provides data related to edits, and the other provides data related to pageviews. Once we've done that, we will extend this to code to create our own datasets of Wikipedia edits or other data that we might be able to use to ask and answer questions in the final session.

 Panama Papers

Goals

 * Get set up to build datasets with Wikipedia APIs
 * Have fun collecting different types of data from Wikipedia
 * Practice reading API documentation
 * Pracice testing API queries in an API Sandbox
 * Practice reading and extending other people's code

Wikipedia Edit API

 * the API sandbox - a tool for building queries

Wikipedia Page View API

 * Use the experimental API
 * This API is a little different because it uses relative paths instead of parameters.
 * This API is case-sensitive.
 * Request for Panama Papers: https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/user/Panama_Papers/daily/20160401/20160420

Building queries in the Wikipedia editing API Sandbox

 * When was the most recent edit to the Panama Papers article?


 * View query in sandbox
 * View result in browser


 * When was the article about the Panama Papers created?


 * View query in sandbox
 * View result in browser
 * Follow up: How many edits has the creator of Panama Papers made to Wikipedia?
 * View query in sandbox:
 * View result in browser:


 * What was the text of the Panama Papers article 24 hours after it was created?


 * View query in sandbox:
 * View result in browser:


 * How many edits did Panama Papers receive in its first 24 hours?


 * View query in sandbox
 * View result in browser
 * Note: this query returns data about each edit, but it doesn't count them for us. We need to use Python for that!


 * How many edits has Panama Papers receive from mobile devices since it was created?


 * View query in sandbox
 * View result in browser
 * Note: this query returns data about each mobile edit, but it doesn't count them for us. We need to use Python for that!


 * Who has edited the Panama Papers article?


 * View query in sandbox
 * View result in browser


 * How many categories is the Panama Papers article in?


 * View query in sandbox:
 * View result in browser:

Building queries in the Wikipedia page view API Sandbox

 * 1) How many views did Panama Papers have on the day it was created?
 * 2) How many views did Panama Papers have yesterday?
 * 3) How many people viewed Panama Papers using the Wikipedia mobile website on its first day?

Building queries with Python

 * 1) How many views did Panama Papers have in the first week?
 * 2) How many edits did Panama Papers get in the first 24 hours?

Resources

 * API documentation for the query module
 * API Sandbox
 * Sample Wikipedia API queries
 * The session lecture notes (in Markdown) and python sources.
 * Sample Wikipedia API questions