DS4UX (Spring 2016)/Panama Papers: Difference between revisions

From CommunityData
Line 71: Line 71:


; How many edits has the creator of Panama Papers made to Wikipedia?
; How many edits has the creator of Panama Papers made to Wikipedia?
:* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&list=users&usprop=editcount%7Cregistration&ususers=Czar View query in sandbox]
:* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&list=users&usprop=editcount%7Cregistration&ususers=Czar View query in sandbox]
:* [https://en.wikipedia.org/w/api.php?action=query&format=json&list=users&usprop=editcount%7Cregistration&ususers=Czar View result in browser]
:* [https://en.wikipedia.org/w/api.php?action=query&format=json&list=users&usprop=editcount%7Cregistration&ususers=Czar View result in browser]




Line 85: Line 85:


;Who has edited Panama Papers?  
;Who has edited Panama Papers?  
 
* [https://www.mediawiki.org/wiki/API:Contributors View API:Contributors documentation]
* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&prop=contributors&list=&titles=Panama+Papers&pclimit=500 View query in sandbox]
* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&prop=contributors&list=&titles=Panama+Papers&pclimit=500 View query in sandbox]




;What categories is Panama Papers in?  
;What categories is Panama Papers in?  
 
* [https://www.mediawiki.org/wiki/API:Categories View API:Categories documentation]
* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&prop=categories&list=&titles=Panama+Papers&clprop=timestamp&cllimit=500 View query in API sandbox]
* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&prop=categories&list=&titles=Panama+Papers&clprop=timestamp&cllimit=500 View query in API sandbox]




;What other articles are in the ''Category'' Panama Papers?
;What other articles are in the ''Category'' Panama Papers?
* [https://www.mediawiki.org/wiki/API:Categorymembers View API:Categorymembers documentation]
* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&prop=&list=categorymembers&titles=Panama+Papers&cmtitle=Category%3APanama_Papers&cmprop=ids%7Ctitle%7Ctimestamp&cmtype=page&cmlimit=50 View query in sandbox]
* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&prop=&list=categorymembers&titles=Panama+Papers&cmtitle=Category%3APanama_Papers&cmprop=ids%7Ctitle%7Ctimestamp&cmtype=page&cmlimit=50 View query in sandbox]




;What other articles does Panama Papers link to?
;What other articles does Panama Papers link to?
* [https://www.mediawiki.org/wiki/API:Links View API:Links documentation]
* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&prop=links&list=&titles=Panama+Papers&plnamespace=0&pllimit=500 View query in API sandbox]
* [https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&prop=links&list=&titles=Panama+Papers&plnamespace=0&pllimit=500 View query in API sandbox]



Revision as of 03:31, 2 May 2016

This page is a work in progress.
Wikipedia.png

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

Download and test the Wikipedia API project

Datasources

Wikipedia Edit API


Wikipedia Page View API

Exercises

Building queries in the Wikipedia editing API Sandbox

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


When was the article about the Panama Papers created?


How many edits has the creator of Panama Papers made to Wikipedia?


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


Who has edited Panama Papers?


What categories is Panama Papers in?


What other articles are in the Category Panama Papers?


What other articles does Panama Papers link to?



Building queries in the Wikipedia page view API Sandbox

How many views did Panama Papers have during its first week?
How many views did Panama papers have during its first week from mobile devices?


Building queries with Python requests

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

Completing this exercise requires you to firist query the Wikipedia API to get revisions to the article that have a timestamp between 2016/4/3 17:59:05 and 2016/4/4 17:59:05, and then use Python to count the number of revisions in the resulting JSON.


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

Completing this exercise requires you to perform two queries with the Wikipedia pageview API, because there are two types of mobile device counts—mobile-app and mobile-web—and you can only query them one at a time.


3. How many times was Panama Papers viewed in the first week? What proportion of those views came from mobile devices?


4. How many other articles has User:Czar edited on Wikipedia since they created Panama Papers?

The sample query above returns a list of edits by Czar between 4/03 and 5/01, that includes the title of each article that was edited. How would you iterate over this JSON data in Python to come up with a list that contained the title of every article Czar edited, with no duplicates?

Coding challenges

Once you have worked through these exercises and feel confident that you can gather data from the Wikipedia edit and pageview APIs using Python, you can get started on this week's coding challenges!

Resources