Python Workshops for Beginners/Saturday October 25th lecture: Difference between revisions
Content added Content deleted
imported>Mako (→Lecture Outline: remove wikipedia) |
imported>Ehashman No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Welcome to the second Saturday lecture of the Python Workshops for Beginners! For about an hour and a half, we'll learn about "Application Programming Interfaces" (or APIs) so we can use them for some data science exercises in the afternoon. |
|||
== Resources == |
|||
* [[Python data types cheat sheet]] |
|||
* [[Python loops cheat sheet]] |
|||
* [http://csclub.uwaterloo.ca/~ehashman/pwfb/pwfb-2lec.pdf Full slides deck] |
|||
== Lecture Outline == |
== Lecture Outline == |
||
Line 13: | Line 21: | ||
#** the ability to save to files |
#** the ability to save to files |
||
#** the ability to understand (i.e., parse) JSON data that APIs usually give us |
#** the ability to understand (i.e., parse) JSON data that APIs usually give us |
||
# Review material from last session |
|||
#* variables |
|||
#* lists |
|||
#* dictionaries |
|||
#* if statements |
|||
#* for loops |
|||
#* printing |
|||
#* modules |
|||
# New programming concepts: |
# New programming concepts: |
||
#* urllib2 and urlopen |
#* urllib2 and urlopen |
||
Line 33: | Line 33: | ||
#* show how to use place |
#* show how to use place |
||
#* write a small program to grab arbitrary square from placekitten by asking for the size on standard in |
#* write a small program to grab arbitrary square from placekitten by asking for the size on standard in |
||
# JSON file (JavaScript Object Notation) |
|||
#* what is json: useful for more structure data |
|||
#* import json; json.loads() |
|||
#* like Python (except no single quotes) |
|||
#* simple lists, dictionaries |
|||
#* can reflect more complicated data structures |
|||
#* Example file at http://mako.cc/cdsw.json |
|||
#* download it and parse it |
|||
# Other APIs |
# Other APIs |
||
#* every API is different, so read the documentation! |
#* every API is different, so read the documentation! |
||
#* for popular APIs, there are python modules that help you make requests and parse json! |
#* for popular APIs, there are python modules that help you make requests and parse json! |
||
#* rate limiting |
#* rate limiting |
||
#* authentication |
|||
#* authenticaiton |
|||
#* text encoding issues |
#* text encoding issues |
Latest revision as of 23:27, 21 October 2014
Welcome to the second Saturday lecture of the Python Workshops for Beginners! For about an hour and a half, we'll learn about "Application Programming Interfaces" (or APIs) so we can use them for some data science exercises in the afternoon.
Resources
Lecture Outline
- Introduction to APIs
- definition of API: just an interface for programs
- definition of web API
- way to ask for data (almost always a URL)
- way to get data back (almost always in a format called JSON)
- every API is different, and documented
- to use APIs to build a dataset we will need:
- all our tools from last session: variables, etc
- the ability to open urls on the web
- the ability to create custom URLS
- the ability to save to files
- the ability to understand (i.e., parse) JSON data that APIs usually give us
- New programming concepts:
- urllib2 and urlopen
- interpolate variables into a string using % and %()s
- open files and write to them
- placekitten.com
- API that takes specially crafted URLs and gives appropriately sized picture of kittens
- example of placekitten in browser
- visit the API documentation
- kittens of different sizes
- kittens in greyscale or color
- show how to use place
- write a small program to grab arbitrary square from placekitten by asking for the size on standard in
- Other APIs
- every API is different, so read the documentation!
- for popular APIs, there are python modules that help you make requests and parse json!
- rate limiting
- authentication
- text encoding issues