Consuming HTTP, JSON, and XML APIs in Python Course

Course Summary

This course will show you how easy it is to consume a wide variety of web services using Python. You will be comfortable working with a variety of web and HTTP services. In addition to core package APIs, you will learn the ins-and-outs of HTTP RESTful services and their data types.

What students are saying

Consuming HTTP Services in Python is a great addition to the training courses from Talk Python and Michael Kennedy. You’ll come away with a thorough knowledge of the best way to get data from the internet using the requests module; you’ll use real world examples and APIs from Basecamp, Github and a custom API Michael built just from the course
-- Paul Cutler

Source code and course GitHub repository

github.com/mikeckennedy/consuming_services_python_demos

What's this course about and how is it different?

The goal of this online video course is to show you how to integrate with a variety of HTTP based web services.

As you know, it's a services world out there. There are literally 1,000's of amazing APIs you can integrate into your applications. Whether it's Slack or Twilio to add communication, GitHub, Trello, or BitBucket for development and deployment, or even Stripe for payments, you can dramatically boost your application's features and power by adding services.

In addition to learning the APIs to integrate HTTP, REST, XML, SOAP services and web scraping into your application, you will learn the theory and concepts behind.

You'll even learn to work with a number of data formats including JSON, XML, HTML, SOAP (details below).

View the full course outline.

Who is this course for?

It's for people who have some programming / scripting experience and want to improve their Python knowledge. Maybe you:

  • Want to add services to your local apps or your web apps
  • Are a developer adding integration with existing services
  • Are a data scientists looking to harvest data from the internet
  • Are a developer who needs to integrate with legacy SOAP services
  • Would like to understand the concepts behind HTTP / REST services

If any of those descriptions fit you, then you're my target student. I wrote this course for you.

What services will we use?

We will create a number of demo applications in Python throughout this course. These applications will integrate with a variety of services and work with a number of data formats including:

What data formats will we learn to process?

In addition to working with requests, urllib, beautifulsoup4, you will learn how to work with a number of data and file formats in Python including.

JSON

  • via the HTTP APIs
  • via the file system

XML

  • custom formats via the file system
  • via RSS
  • via sitemaps
  • SOAP services descriptions and messages

HTML

  • via basic GET requests
  • parsing deeply to convert web pages to "APIs"

Concepts backed by concise visuals

This course is hands-on. You will see virtually all the code written from scratch and we will be accessing publicly available services. Everything you see me type or do, you can reproduce. And you should follow along!

However, sometimes you need to see the big picture. That's why all the major concepts in the course are backed by concise visuals.

Here's an example for when we will first talk about screen scraping with Beautiful Soup.

Example: Concepts backed by concise visuals

Follow along with subtitles and transcripts

Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.

Each course has subtitles available in the video player.

Who am I? Why should you take my course?

Who is Michael Kennedy?

My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.

 1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.

 2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.

 3. Students have loved my courses. Here are just a few quotes from past students of mine.

"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.

Free office hours keep you from getting stuck

One of the challenges of self-paced online learning is getting stuck. It can be hard to get the help you need to get unstuck.

That's why at Talk Python Training, we offer live, online office hours. You drop in and join a group of fellow students to chat about your course progress and see solutions via screen sharing.

Just visit your account page to see the upcoming office hour schedule.

Is this course based on Python 3 or Python 2?

This course is based upon Python 3. Python 2 is officially unsupported as of January 1st, 2020 and we believe that it would be ill-advised to teach or learn Python 2. This course is, and has always been, built around Python 3.

The time to act is now

Begin taking advantage of the thousands of amazing services you can use in your app today.

Course Outline: Chapters and Lectures

Welcome to the course
8:51
Welcome to the course and what we'll cover
2:43
Course setup: Python 3 (and a little 2)
1:34
Editor options and PyCharm
0:59
Exploring APIs with Postman
0:32
Get the source code for the course
0:58
Video player: A quick feature tour
2:05
The service landscape
11:51
Service type: Raw sockets
2:49
Service type: SOAP
5:42
Service type: HTTP and REST
2:28
Service type: Message queues
0:52
Initial HTTP GET requests with the requests package
11:44
Getting started with requests
1:27
A clean environment for our course
4:06
Installing requests in PyCharm
1:53
Concept: installing requests
0:38
A simple GET with requests
2:41
Concept: A simple GET with requests
0:59
Reading JSON data with requests
17:18
Working with JSON from Python
0:57
Demo: JSON from Python
5:53
Concept: JSON from Python
1:17
Consuming GitHub JSON API
8:35
Concept: Consuming GitHub JSON API
0:36
XML services with requests
21:02
XML chapter introduction
0:29
Working with XML from Python
9:37
Concept: Working with XML from Python
3:22
Consuming XML data from an HTTP service
6:57
Concept: Consuming XML data from an HTTP service
0:37
Binary data from services (and elsewhere)
10:59
Binary data from services introduction
0:39
A podcast MP3 downloader (binary downloader)
9:40
Concept: Binary downloads with requests
0:40
Consuming RESTful HTTP services
38:38
HTTP and REST building blocks
2:56
The HTTP verb meanings
3:18
Exploring the Basecamp HTTP API
4:07
Introduction to modifying data via HTTP
0:30
Introducing the Talk Python blog service
3:05
Welcome to the blog explorer app
1:42
Blog explorer: Getting posts
3:56
Blog explorer: Creating a post
5:21
Concept: Creating a post with requests
2:09
Blog explorer: Updating a post
5:11
Concept: updating a post with requests
1:49
Blog explorer: Deleting a post
3:23
Concept: Deleting a post with requests
1:11
HTTP services with Python builtins
19:46
Introduction to Python's builtin HTTP clients
4:08
Python 2: Blog explorer with urllib2
2:42
Python 2: Blog explorer update a post with urllib2
3:17
Python 3: Blog explorer: Getting posts with urllib.request
1:25
Python 3: Blog explorer: Adding a post with urllib.request
2:16
Python 3: Blog explorer: deleting a post with urllib.request
3:41
Concept: Python 3's urllib
2:17
Calling SOAP services from Python
26:46
Suds Replacement: Zeep
0:21
Introduction to developing with SOAP services
3:20
SOAP services from a tool-based ecosystem
4:33
Concept: SOAP services from a tool-based ecosystem
1:21
Introduction to the Suds package
1:41
Installing Suds for Python 3
1:30
Blog Explorer: Via SOAP and Suds
9:50
Concept: Using Suds
2:33
Concept: Complex types in Suds
1:37
Accessing authenticated HTTP services
15:39
Introduction to authenticated services
3:05
Be cautious with basic authentication
1:06
Authenticated HTTP service overview
2:08
Making authenticated requests with requests
2:24
Concept: Adding authentication to requests
0:48
Authenticated requests with Python 3's urllib.requests
3:30
Concept: Authenticated requests with Python 3's urllib.requests
1:03
Concept Authenticated SOAP services with suds
1:35
Screen scraping: Adding APIs where there are none
35:30
What is screen scraping and web scraping?
5:09
Survey of screen scraping libraries
1:59
Scraping Talk Python by leveraging sitemaps
6:08
Downloading transcript html
3:55
Finding the title with BeautifulSoup
4:02
Searching for elements via CSS in BeautifulSoup
4:40
Concept: Scraping with BeautifulSoup
3:41
What are user agents?
1:50
Controlling your user agent in requests
3:13
Concept: Controlling your user agent in requests
0:53
Conclusion
3:14
You've done it!
3:14
Buy for $49 + tax Bundle and save 85% Team Gift

Questions? Send us an email: contact@talkpython.fm

Talk Python's Mastodon Michael Kennedy's Mastodon