{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Week 1\n", "\n", "## Overview\n", "\n", "As explained in the [*Before week 1* notebook](http://nbviewer.jupyter.org/github/suneman/socialgraphs2016/blob/master/lectures/How_To_Take_This_Class.ipynb), each week of this class is an IPython notebook like this one. **_In order to follow the class, you simply start reading from the top_**, following the instructions.\n", "\n", "**Hint**: And you can ask me - or any of the friendly Teaching Assistants - for help at any point if you get stuck!" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Today\n", "\n", "This first lecture will go over a few different topics to get you started \n", "\n", "* First, I'll help you get your system in shape for all the Python programming we'll do later on.\n", "* Second, we'll make sure that you remember how to code in Python.\n", "* Third, we talk a bit about APIs and how they work.\n", "* Fourth, and finally, we'll be getting our hands dirty with a bit of coding and Twitter's API." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part 1: Installing Python\n", "\n", "Now it's time to install Python. The most important thing to know before you begin is that we use python 2.7, **so DO NOT install Python 3\\.** \n", "\n", "Every year, someone doesn't read carefully enough, so let me say it again: **DO NOT install Python 3\\.**\n", "\n", "In spite of the warnings above (and this is `TRUE`) someone still always installs Python 3. Don't do it. I'm still waiting for the right time to transition - I'm thinking that'll be next year.\n", "\n", "* We recommend you use the _Anaconda distribution_ of Python. You can download it [**here**](https://www.continuum.io/downloads).\n", "* You start up the notebook system by typing \"`jupyter notebook`\" and your terminal, and the system should be ready to use in your favorite browser. \n", "* Be sure to check the keyboards shortcuts under the heading of \"Help\" where you will find for instance shortcut to code-completion (Tab) and tooltip with documentation (Shift-Tab) which will save you a ton of time. \n", "\n", "Part 3 will teach you how to use the IPython Notebook. Note that if you want to use another Python distribution, that's fine, but we cannot promise to help you with anything other than Anaconda. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part 2: Simple Python exercises\n", "\n", "> **_Video lecture_**: You get started on this part by watching the \"IPython Notebook\" video below. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgNCwgICAgJCggLCAgICAgICAgICAgICAcIBwgI\nCAgIChANCAgOCQgIDBUMDhERExMTCAwWGBYSGBASExIBBQUFCAcIDggIDRIMDAwSEhISEhISEhIS\nEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEv/AABEIAWgB4AMBIgACEQED\nEQH/xAAdAAEAAQQDAQAAAAAAAAAAAAAABQMEBgcBAggJ/8QAXhAAAQMCAgQGBxMJBAgGAwEAAgAD\nBAESBRMGESIjBxQyM0NzITFCUlNUcggVFhcYJDRBUWJjdIOTlKOys9REYWRxgpLD0/CEkaK0gaHB\nxNHS4+RVpLHV8/QlNvIm/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAIDBAUBBv/EACURAQABBAEDBQEB\nAQAAAAAAAAACAwQSMhMBBTQRFCIxQiEzI//aAAwDAQACEQMRAD8A8ZIiICIiAiIgIiICIiAiIgIi\nICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAi\nIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIC\nIiAiIgIiICIiAiIgIiICIiAiIg7It5YL5mPHXxbcZm4VQDaaepVyRMpsvcntQ1eM+ZP0lrfrkYYF\nvbzJEyl3k+s0e4vP6L0EfmT9JKDdxnCa+8pJmVc/yKF5k3SOlLqzMIp+asmbr/yKPHn5Ft2XwBY0\nEkYJOwc4jsEhdlVb1+VxdVWPM748VdQVhlXy5f4dWdY4o5tOItuP8AGNiGbfDq3bfdQpfa+jqXe8\nzFj4iR1k4aVKDfWx6bXsfQVWk0Yi3HXzO+PaiK6JaI3kRHLp2Po65LzPeO0cFojhDrNsKGTkugay\n/PxZBptFv31KmkPjuD/SZv4FdA8y1pDUjpxrDKW+2b03UX6vWSDQqL0Ex5k3SIqEVJuD7Pb9czfw\nKgJ/md8fb9uIfVHLL/d0GnEW33/M+Y+Nba8X/ZrLr/u6lPUxaQatfGMN5vM1ZszXq+hoNGItuep9\nx/a2WOx2/Zf4dd/U9Y/+i/vS/wAOg1Ai396lLSHx3B/pU38CqXqXNIL7ONYXyb786bl6voKDQyLc\n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\ntXu4K/bze6uBXtTOsb+yS2NRfOvRrzVmkMajuTDwit9QqVXY82v2Z1FMerS0p8QwP6LiP49c6tLK\nfqvg9+ovAXq09KfEME+i4j+PT1aelPiGCfRcR/HqCb36i8BerT0p8QwT6LiP49PVp6U+IYJ9FxH8\neg99mvmP5sX/APZ8c66N/kYyzv1aelHiGCfRsR/9wWkuErS9/E50nFpbTTcmQTZvDHF0Gq1ZYFil\ntHnXK02Wqe3VBiaIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiD6f+ZGL/wDzOA/Fnf8A\nPSFthfOTg+80/j2HQomFRIeFHGjhUGTkR5Zu6s/P1u1Zm092vtKc9WhpT4hgf0XEf/cEH0AReAvV\np6U+IYJ9FxH8enq09KfEME+i4j+PQe/UXgL1aelPiGCfRcR/Hp6tPSnxDBPouI/j0Hvyq8307ry1\npP1aWlHiGCfRcR/HrC/VEYz4thvzMv8AErTbzjDr/Vc6eT1Gi8ueqHxnxbDfmZf4lPVD4z4thvzM\nv8Stfu4KfbzejNMPYczV4s6tM4lDPLw8LCFw3nb9jw7CxDEeHvGHGzZKPApQxsqQMyqHq/MXGFDs\n8LeJUG3KiF3pkD14fq36zV60JrIQXeOaLOk9INp0aSO4Lwm45n4ypDA9J50Y24+IO5YmG3fvG/8A\nt5KxSnCNN1FQWo4a+3UBepX75WTOmUi0wcYjPCfb4wLzn8VUZpvSmE4kNWmyo7f3d/ObpXs+7UJ3\nDaYcnqF5m0c09mRc2kdtixzttGL1W2+opn7Km/TmxPVq4vB/NuXtn9W/VE4Jt9MSSquj92rZ/YWh\nGOGDEx6GGXlsvfz13PhlxWtOYg/Mvfz1DjWZvQWGvWMsjW3M5dwqQiT9ZiR7Irzj6dWKWiHF4No+\n1kvfz1WDhxxahXcXgcu+3Je7fz6YPGxZU8HcYjjbc4B2cvnF34bsYBysWK1tuAfK3O8WnZfCLNNz\njGRFArzKwBeo3rK74f4Wq7RuFLEAqVaNRa6+3e09X+Mp+iDAkRFMEREBERAREQEREBERAREQEREB\nERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQ\nEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBER\nAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQER\nEBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERB//Z\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import YouTubeVideo\n", "YouTubeVideo(\"yC754EgHpck\",width=600, height=337.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Oh, and I forgot a few important things when I made this video, so here are some additional tips & tricks on IPython." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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\nCEAhCEAhCEAhCEAhCEAhCEAhCED/2Q==\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"NDZyU_NlX0I\",width=600, height=337.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> _Exercises_\n", "> \n", "> * Download the IPython file that I've prepared for you and save it somewhere where you can find it again. The link is [**here**](https://raw.githubusercontent.com/suneman/socialgraphs2017/master/files/Training_notebook.ipynb). (**Hint**: Be careful not to save this in _.txt_ format - make sure the extension is _.ipynb_.)\n", "> * Work through exercise 1-9 in the file, solving the simple Python exercises in there. Also use this as a chance to become familiar with how the IPython notebook works. (And a little bit of `json`). " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STOP: Super important notice\n", "\n", "Now that you've completed working through the IPython notebook, it's time for the moment of truth! If you had great difficulty with the Python coding itself, you're going to be in trouble. Everything we do going forward in this class will depend on you being comfortable with Python. There is simply **no way** that you will be able to do well, if you're also struggling with Python on top of everything else you'll be learning.\n", "\n", "**So if you're not 100% comfortable with Python, I recommend you stop right now, and follow [Code Academy's excellent short course on Python programming](https://www.codecademy.com/en/tracks/python) before proceeding**. This might seem tough, but the ability to program is a prerequisite for this class, and if you know how to program, you should be able to handle the Python questions above.`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part 3: What is an API?\n", "\n", "Ok, so you're now on top of Python, so let's get started with a quick overview of APIs. \n", "> \n", "> **_Video lecture_**: Click on the image below to watch it on YouTube.\n", "> " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgICAgICAgJCAgICAgHCAgICAgICAgIBwcIBwcI\nBwcHChALBwgOCQgIDBUMDhERExMTCAsWGBYSGBASExIBBQUFCAcHBwgIChIICAgSEhISEhISEhIS\nEhISEhISEh4SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIeEv/AABEIAWgB4AMBIgACEQED\nEQH/xAAdAAEAAQUBAQEAAAAAAAAAAAAABAIDBQYHAQgJ/8QAWhAAAQIEAQYFDwUKDQQCAwAAAgAD\nAQQSEwUGERQiUpIVIzIzYgcIFhghMUJDUVNUcpSi1CRBY4PRNERhZHOChJGTsxdxdIGho6S0wcPE\n0/AlsdLjsuEmwvL/xAAaAQEBAQEBAQEAAAAAAAAAAAAAAgMEAQUG/8QAKBEBAAICAgAFAwUBAAAA\nAAAAAAISAxMEMwEiMkJTI1JiFDQ1QWMR/9oADAMBAAIRAxEAPwD4yREQEREBERAREQEREBERAREQ\nEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBER\nAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQER\nEBERAREQEREBERAREQEREBERARd3wjrYMemxE2pzCoCTTT8IuPTsO4/yfvFSWutPykKrPM4U3T5y\nYnIVer8iQfP6L6CLrTMpKatKwmPRhMzuf+4ofWm5RCOeM7g/8Wkzuf8AuKD59Rd4PrXMehGnTsHq\n2dJnc/8AcViXet5x+BUw0YukMZuP+nQcdRdiDrd8fi4LeeTqLva838OqO16yg2Zf9c38Og5Ai7tK\n9a/lC5nzTOFjm23p2H+hUjtUsofTcH9qnfgUHAUXfu1Syh9Nwf2qd+BVLPWsZQGZBCawsYidvXmZ\nyFUej8hQcDRfRj/WiZRBERPEcEEj5A6TiOv/AGBYZ/rYcpAOiqTLWo1CnO/7Gg4Yi7kfWxZSQAjL\nQxEOVrzfc/s6uh1rmUpUUHIkLg1wMXZ23m9jQcIRfQ+G9aRlM+3XpWEs69FDz842ef2FSO07ym9N\nwX2nEfgEHzgi+j+07ym9NwX2nEfgFZHrRMprhBpeD6o3InpM7bzetoKD52RfQD3Wo5SDCrScMLjr\n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\nyO+iFHCT+2nCT+2q+Cn9kd9OCn9kd9BRwk/tpwk/tqvgp/ZHfTgp/ZHfQUcJP7acJP7ar4Kf2R30\n4Kf2R30FHCT+2nCT+2q+Cn9kd9OCn9kd9BRwk/tpwk/tqvgp/ZHfTgp/ZHfQUcJP7acJP7ar4Kf2\nR304Kf2R30FHCT+2nCT+2q+Cn9kd9OCn9kd9BRwk/tpwk/tqvgp/ZHfTgp/ZHfQZPJuZcM3KyqUv\nFuU3/E5/2UXJyVNsjrhyhhFS8V77f1qCMqFWiD546qM++GNTlDtIg9KtmNDPNWFoemaS+4bw3HHb\nTdfi7S2bq5VN4xPR87ao/YMLSGDIW3CAah8Mi8Ws8+edKGDiwvd9F9RSnMWb0OQXRlznqMd4tnQ5\nBdGWPF6BWp+D8yCgKfg/MguoS0XqICIiDXMo8nm52LdyrMy7fCnzqwH8HEpCNULwkIaOFHgNLd5q\ndaaiMHHBbiUcwQIs1Sk1w8qDVX8lmXItxOBETEa2TIebWPxXIGWmYkT0TIitf2db1XDyqO5ONQIQ\ni4NR8gau6aDQ/wCDOUrqqep41ynP419XP4M5LV57VNo+X5hbu/Ost01uCNXIqLlq1K4tLuwztPNl\nrUdw/nQaoxkDLAzowE8LOzX9PpCsOdTKSiZHxw1PaRmE/Grfbw7Qqyc+yNOdwNYqB1od2KDTmchW\nWhJsHHqStf1L+kLbrcdklLrHyw/Wqbw7QoI1uOySW47JKXdHah+tWwmW458xjHN39ZBYtx2SS3HZ\nJX9La84O8kxMg3CJGYiMO/Eo95BYtx2SS3HZJSLwbQ76tnONDVncCFPLzl3kFu3HZJLcdklcbnGo\nwEoOBSXJKuGupFcPKgh247JJbjskrjE8ydVDglTytbvKUgg247JJbjskpyIINuOySW47JKciCDbj\nskluOySnIgg247JJbjskpyIINuOySW47JKciCDbjskluOySnIgg247JJbjskpyIINuOySW47JKci\nCDbjskluOySnIgg247JJbjskpyIINuOySW47JKciCDbjskluOySnIgg247JJbjskpyII0sMYR7yj\nYr32/rVkljcV77f1qCMiIg+YuuAerxgmqKqXmm6/5SwwtPYkCag81VVUt66uMmTuJzQiVPymVc+t\nsLW5CWA+66JXPDWE28HbuowHcc/kcgujLnPUZ7xfyOQXRlHF6GCtT8H5kFAU/B+aFdQmIiICIvEG\n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\ngvs2I/Hp24mU3oWC+zYj8eg+66B6SUD0l8KduJlN6Fgvs2I/Hp24mU3oWC+zYj8eg+66B6SUD0l8\nKduJlN6Fgvs2I/Hp24mU3oWC+zYj8eg+66B6SUD0l8KduJlN6Fgvs2I/Hp24mU3oWC+zYj8eg+66\nB6SUD0l8KduJlN6Fgvs2I/Hp24mU3oWC+zYj8eg+66PWShfCnbiZTehYL7NiPx6duJlN6Fgvs2I/\nHoPu5F8I9uJlN6Fgvs2I/Hp24mU3oWC+zYj8eg2vq3PCWXDg0DUISvK/IS61jqx4qL5Sss0Nwm/C\nGzxi5hln1WMQxXETxOZZlRmD8FoHoN8xo/Jv7KjyXVRxBmqluWKrv1tOx/zkGhoiICIiAiIgIiIC\nIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIg\nIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIi\nAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIi\nICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIg//2Q==\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"9l5zOfh0CRo\",width=600, height=337.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's time for you to get to work. Take a look at the two texts below - just to get a sense of a more technical description of how APIs work\n", "\n", "> _Reading_ (just skim): [Wikipedia page on APIs](https://en.wikipedia.org/wiki/Web_API) \n", "> _Reading_ (just skim): [Wikipedia page on REST for web services](https://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services)\n", "> " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part 4: The Twitter API\n", "\n", "In this final part, we're going to use Python to access Twitter's API. This is the main part or the work today! \n", "\n", "> _Reading_: Read through chapter 1 of _Mining the Social Web, 2nd Edition_ (MTSW2e) by Matthew A. Russell. We will focus on content up to page 29, so you can skim the rest.\n", "> The first chapter of the book is available for free. You can get it [**here**](https://github.com/ptwobrussell/Mining-the-Social-Web-2nd-Edition).\n", "> \n", "\n", "In MTSW2e, Russell suggests that you install a virtual machine and run Python from there. _That's not necessary_. \n", "\n", "But you will have to install the [`twitter` Python library](https://github.com/sixohsix/twitter). The `twitter` Python library makes it easier to interact with the Twitter API by creating wrapper around the API urls, as well as loading the json for you. \n", "\n", "There are a number of Twitter libraries for Python, and it's important that you get the right one (they all do more or less the same thing, but they have different syntax). \n", "\n", "In order to install the right library, use the Python installer [`pip`](https://en.wikipedia.org/wiki/Pip_(package_manager)). And make sure you use _Anaconda's_ `pip`, which is in the Anaconda base folder (your system may already have `pip` installed as part of another Python distro). On my system (a mac), I installed the `twitter` library by typing\n", "\n", " >> ~/anaconda/bin/pip install twitter\n", "\n", "at the terminal. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> _Exercises_ \n", "> Solve the exercise below in a new `notebook`. So when I write \"Work through example ...\", I mean: do that in your `notebook`. Make sure that you add lots of comments in and around your code. Don't forget that these exercises will form the foundation for _Assignment 1_ when that time comes. So it is to your own advantage to write everything up nicely while it's fresh in your memory. \n", "> \n", "> _Questions about the text_\n", "> \n", "> * According to Chapter 1, what are some things that we humans might want technology to help us get?\n", "> * What's the maximum number of characters in a Tweet?\n", "> * How many monthly active users does the book say that we can find on Twitter? \n", "> * What is the key difference between connections on Twitter and connections on Facebook?\n", "> * Take a look at the tweet meta-data on page 22-25\\. Which fields do you think are most interesting? \n", "> \n", "> _Coding your way through Chapter 1 of MTSW2e_\n", "> \n", "> * If you don't have one, start a Twitter account. (And follow @suneman).\n", "> * If you're having trouble registering as a developer, you can follow [**this**](https://support.twitter.com/articles/110250#long-code) guide. You might want to use Skype to do this, as international texting can be costly. *If you don't get a text message (**SMS only works for some Danish numbers**), ask Twitter to call with the security code*\n", "> * Work through example 1.1 in the book. _Note_: Some of the code in the book is outdated due to changes to the Twitter API (1.0 -\\> 1.1). Updated code can be found [**here**](http://nbviewer.ipython.org/github/ptwobrussell/Mining-the-Social-Web/blob/master/ipython_notebooks/Chapter1.ipynb). Read the text in the book, but use the code from the link as you work though the next exercises.\n", "> * Work through example 1.2, and also retrieve the trends for Denmark. What are they? _Hint_: I found the Denmark WOE using [this webpage](http://woeid.rosselliot.co.nz/).\n", "> * Work through example 1.3\\. _Bonus_: Can you think of other ways to plot nicely formatted `json` structures? \n", "> * Work through example 1.4\\. No need to calculate intersections for the Denmark trends. I'm pretty sure the overlap will be zero.\n", "> * Work through example 1.5, but choose your own term to query for. Make sure that it's a term that gets lots of hits.\n", "> * Extract the actual tweet text, and retweet count for all of the tweets you downloaded in example 1.5\\. Which tweet is the most popular one?\n", "> \n", "\n", "---\n", "\n", "And you're done. Don't forget to congratulate yourself for getting all the way through the exercises!" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 1 }