Editing Wikipedia (CDSW)

From CommunityData
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 20: Line 20:


* Right click the following file, click "Save Target as..." or "Save link as...", and save it to your Desktop directory:  
* Right click the following file, click "Save Target as..." or "Save link as...", and save it to your Desktop directory:  
https://github.com/CommunityDataScienceCollective/wikipedia-cdsw/archive/master.zip
https://communitydata.cc/~groceryheist/wikipedia-cdsw-answers.zip


* The ".zip" extension on the above file indicates that it is a compressed Zip archive. We need to "extract" its contents. To do this, click on "Start", then "Computer" on Windows or open Finder and navigate to your Desktop directory if you are a Mac. Find <code>wikipedia-cdsw-master.zip</code> on your Desktop and double-click on it to "unzip" it. That will create a folder called <code>wikipedia-cdsw-master</code> containing several files.
* The ".zip" extension on the above file indicates that it is a compressed Zip archive. We need to "extract" its contents. To do this, click on "Start", then "Computer" on Windows or open Finder and navigate to your Desktop directory if you are a Mac. Find <code>wikipedia-cdsw.zip</code> on your Desktop and double-click on it to "unzip" it. That will create a folder called <code>wikipedia-cdsw</code> containing several files.


===Test the Wikipedia API code===
===Test the Wikipedia API code===


Startup your jupyter notebook [[Python_in_Jupyter| as usual]]. Using jupyter open in your browser, navigate to the <code> wikipedia-cdsw-master</code> folder that you saved on your Desktop and open <code>wikipedia-test-anon_nonanon.ipynb</code>.
<div style="background-color:#CEE7DA; width:80%; padding:1.2em;">
'''On Windows'''


Run all the cells in the notebook. Cell 4 should take some time and output messages like <code>pulling data iteration 0</code>. Cell 5 should output a dictionary of IP addresses and counts and cell 6 should output a dictionary of user names and counts. 
Start up PowerShell and navigate to the <code>Desktop\wikipedia-cdsw</code> directory where the Wikipedia API code lives. For example, if the Wikipedia API project is at <code>C:\Users\'''YOURUSERNAME'''\Desktop\wikipedia-cdsw</code>,


If you don't get this output or see any error messages ask a mentor for help right away.
cd C:\Users\'''YOURUSERNAME'''\Desktop\wikipedia-cdsw


== Topics to cover in the session ==
</div>
<div style="background-color:#D8E8FF; width:80%; padding:1.2em;">
'''On Mac'''
 
Start a command prompt and navigate to the Desktop/wikipedia-data-examples directory where the Wikipedia API code lives. For example, if the Wikipedia API project is at <code>~/Desktop/wikipedia-cdsw</code>,
 
cd ~/Desktop/wikipedia-cdsw
 
</div>
 
This will change you into the Wikipedia example code directory. Running <code>ls</code> will show you the source code files in that directory. One of the files is <code>wikipedia-1.py</code>, which has a <code>.py</code> extension indicating that it is a Python script. Type:
 
python wikipedia-1.py
 
at the command prompt to execute the <code>wikipedia-1.py</code> Python script. Wait a little while while your computer connects to Wikipedia. You should see the result of a query from Wikipedia API on your screen. If you don't, let a staff member know.
 
== Example topics we might cover in the session ==


=== Main Wikipedia API ===
=== Main Wikipedia API ===
* explain [http://www.mediawiki.org/wiki/API:Main_page MediaWiki], exists on other wikis
* explain [http://www.mediawiki.org/wiki/API:Main_page MediaWiki], exists on other wikis
* navigate to [http://en.wikipedia.org/w/api.php api page] and show the [https://www.mediawiki.org/wiki/API:Revisions documentation], point out examples
* navigate to [http://en.wikipedia.org/w/api.php api page] and show the documentation, point out examples
* introduce the [https://en.wikipedia.org/wiki/Special:ApiSandbox API sandbox] as a tool for building queries
* introduce the [https://en.wikipedia.org/wiki/Special:ApiSandbox API sandbox] as a tool for building queries
* looking at the images within a page http://en.wikipedia.org/w/api.php?action=query&titles=Seattle&prop=images&imlimit=20&format=jsonfm
* looking at the images within a page http://en.wikipedia.org/w/api.php?action=query&titles=Seattle&prop=images&imlimit=20&format=jsonfm
Line 44: Line 61:


=== Page View API ===
=== Page View API ===
* Use [https://wikimedia.org/api/rest_v1/?doc#!/Pageviews_data the REST API]
* Use [https://wikimedia.org/api/rest_v1/?doc#!/Pageviews_data the experimental API]
* Explain that this API is a little different because it uses relative paths instead of parameters.  
* Explain that this API is a little different because it uses relative paths instead of parameters.  
* Also note that this API is case-sensitive.  
* Also note that this API is case-sensitive.  
Line 53: Line 70:


<ol start="1">
<ol start="1">
<li>When was the article about the Panama Papers created? (i.e., when was the first edit to the article made)</li>
<li>When was the article about the Panama Papers created?</li>
<li>When was the most recent edit to the Panama Papers article?</li>  
<li>When was the most recent edit to the Panama Papers article?</li>  
<li>Think of two articles that interest you. Which ones were created first?</li>
<li>Think of one or two articles that interest you. Which ones were created first?</li>
<li>Which have been edited most recently?</li>
<li>Which have been edited most recently?</li>
</ol>
</ol>
Line 61: Line 78:
Medium Difficulty Questions:
Medium Difficulty Questions:
<ol start="5">
<ol start="5">
<li> Print the users who made revisions to an article of your choice (try an article about a current event) in the last day. </li>
<li> Print the list of users who made revisions in the last day </li>
<li> How many edits did user "Freeknowledgecreator" make in the last day? </li>
<li> How many edits did user "Elinruby" make in the last day? </li>
<li> How many total edits did user "Freeknowledgecreator" make?"</li>
<li> How many total edits did user "Elinruby" make?"</li>
</ol>
</ol>


Line 74: Line 91:


How many edits did it get in…
How many edits did it get in…
<ol start="11">
<ol start="12">
<li> the first 24 hours?  </li>
<li> the first 24 hours?  </li>
<li> the first week? </li>
<li> the first week? </li>
Line 82: Line 99:
More difficult questions:
More difficult questions:


<ol start="14">
<ol start="15">
<li>Who made the total most edits to the article?</li>
<li>Who made the total most edits to the article?</li>
<li>What’s the number of edits per day in the first two weeks of the article?</li>
<li>What’s the number of edits per day in the first two weeks of the article?</li>
Line 99: Line 116:
* [[Sample Wikipedia API queries]]
* [[Sample Wikipedia API queries]]
* [https://github.com/nettrom/wikipedia-session The session lecture notes (in Markdown) and python sources.]
* [https://github.com/nettrom/wikipedia-session The session lecture notes (in Markdown) and python sources.]
* [[Sample Wikipedia API questions]]
[[Category:Spring_2016 series]]
[[Category:Spring_2016 series]]
Please note that all contributions to CommunityData are considered to be released under the Attribution-Share Alike 3.0 Unported (see CommunityData:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)