Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

University of Michigan

Using Python to Access Web Data

University of Michigan via Coursera


This course will show how one can treat the Internet as a source of data. We will scrape, parse, and read web data as well as access data using web APIs. We will work with HTML, XML, and JSON data formats in Python. This course will cover Chapters 11-13 of the textbook “Python for Everybody”. To succeed in this course, you should be familiar with the material covered in Chapters 1-10 of the textbook and the first two courses in this specialization. These topics include variables and expressions, conditional execution (loops, branching, and try/except), functions, Python data structures (strings, lists, dictionaries, and tuples), and manipulating files. This course covers Python 3.


  • Getting Started
    • In this section you will install Python and a text editor. In previous classes in the specialization this was an optional assignment, but in this class it is the first requirement to get started. From this point forward we will stop using the browser-based Python grading environment because the browser-based Python environment (Skulpt) is not capable of running the more complex programs we will be developing in this class.
  • Regular Expressions (Chapter 11)
    • Regular expressions are a very specialized language that allow us to succinctly search strings and extract data from strings. Regular expressions are a language unto themselves. It is not essential to know how to use regular expressions, but they can be quite useful and powerful.
  • Networks and Sockets (Chapter 12)
    • In this section we learn about the protocols that web browsers use to retrieve documents and web applications use to interact with Application Program Interfaces (APIs).
  • Programs that Surf the Web (Chapter 12)
    • In this section we learn to use Python to retrieve data from web sites and APIs over the Internet.
  • Web Services and XML (Chapter 13)
    • In this section, we learn how to retrieve and parse XML (eXtensible Markup Language) data.
  • JSON and the REST Architecture (Chapter 13)
    • In this module, we work with Application Program Interfaces / Web Services using the JavaScript Object Notation (JSON) data format.

Taught by

Charles Severance


Related Courses


4.7 rating, based on 4,074 reviews

Start your review of Using Python to Access Web Data

  • Anonymous

    Anonymous completed this course.

    I have one big criticism of this class. The Python keyword "import" is never explained. The concept of "module" is never explained. We're just told to cant this magic incantation "import re" and suddenly statements that generated traceback errors...
  • Anonymous

    Anonymous completed this course.

    I really enjoyed the first two courses of Dr. Chuck's Python for Everybody Specialization -- but not this one. As some other reviewers have already stated I, too, felt increasingly frustrated and somehow left alone during this course. Most of this course's...
  • As I mentioned in the previous reviews about this Specialization, all these courses are meant for beginners without previous programming experience and difficulty of courses rises gradually. Thus, the first course was a real piece of cake, second got...
  • Steve Schoenbaechler

    Steve Schoenbaechler completed this course.

    With this review, you must understand, a major part of this review is because of my interest/expectations/etc., what I was looking for from the course. If you are interested in “fully engaging” in Python, becoming a computer scientist, etc., this course...
  • Anonymous

    Anonymous is taking this course right now.

    Although my specialty is zoology, I signed up and paid for this course (one in a series offered by them) to learn a little about Python which intrigued me for some reason. The course gives a somewhat disjointed, quick overview of using Python to access...
  • Jerald Dana Cole

    Jerald Dana Cole completed this course, spending 5 hours a week on it and found the course difficulty to be medium.

    I just completed the course. It is excellent, but needs a few bug fixes. The Week 5 Chapter assignment references the wrong exemplar (not wrong, per se, but far more complex than a simpler example covered in the lectures that transfers better to the...
  • Nikita Neganov completed this course, spending 4 hours a week on it and found the course difficulty to be medium.

    As I mentioned in the previous reviews about this Specialisation, all these courses are meant for beginners without previous programming experience and difficulty of courses rises gradually. Thus, the first course was a real piece of cake, second got...
  • This course has helped me a big deal. Mr. Severence is such a genius in preparing the courses for his students to succeed. And something I liked most about the course is that one had to go on the ground and do tremendous research by himself to understand how certain things work out. Some people might find this very challenging but a good instructor does not spoon feed his trainee on a silver plate. The trainee's hands have to et dirty so as to grasp the concept permanently. To me, this course has changed my life and nowadays I don't have time to waste because everytime I get, I want to code and feel the excitement of discovering more things and seeing how things work out. Learning never stops, see you in the next chapter.
  • Anonymous

    Anonymous completed this course.

    As many have said, this was a good course. I can now do so many things I couldn't do after the 2 first courses. However, it seemed like Dr.Chuck had to much stuff to show us in a single course, that made it impossible for him to explain everything that...
  • Anonymous
    I am working my way through the Python Specialization. The first two courses were fantastic. This course, "Using Python to Access Web Data", was a bit of a struggle. While I still like Dr. Chuck's on camera teaching and the examples he provided, the...
  • Anonymous

    Anonymous completed this course.

    This third course applies and builds on the basic knowledge from the first two python courses. Especially interesting is the information on regular expressions, which kicks this course off. Following this the course gears up into a higher transmission...
  • Anonymous

    Anonymous completed this course.

    I began learning Python with this course. With absolutely no prior knowledge of or experience in Python (except lots of curiosity), I came across the first two courses on and loved Dr Charles' videos. It's a well structured course, especially...
  • Anonymous

    Anonymous completed this course.

    First course in the specialization that really gets you going (as promised in the two previous classes). It also will take some more effort, but you can use the knowledge built in the two previous courses. It is rightfully classified as "Intermediate"...
  • Anonymous

    Anonymous completed this course.

    It's a very good course for many reasons. I learnt practical skills easily. It is always fun listening to dr Chuck who always says interesting and useful things. Although I think that the edX/MIT course I took was excellent, I think dr Chuck does amazing job and he is number 1 for me (he's my HERO, I love him!)
    Maybe the assignments were a bit to easy, but I think there were like a guidance for us to know how to start and what to learn. In my opinion there was not enough about urllib, but it's up to us whether we want to learn it or not and the course wasn't the best place for it (I'm going to learn all the library/modules used by dr Chuck)
    I think I've learnt amazing skills already thanks to dr Chuck.
  • Anonymous

    Anonymous completed this course.

    "Using Python to Access Web Data" was definitely more challenging than its predecessors in the specialization but it gave me a good taste for how even a simple program in Python can reach out to the world, access meaningful data, and do something useful with it. I would find to be helpful additional programming examples and/or code which used more of the built-in functions offered by a touched-on library, such as urllib and json. Review of the Python programming manuals reveal a seemingly immense amount of functionality and if this course explored a bit more in those areas, I'd feel more enriched. Maybe some of the largely extraneous "office hours" segments could be replaced with on-topic educational content.
  • Anonymous

    Anonymous completed this course.

    The only caveat I have with the course is the impossibility to audit and do the assignments (don't care about submitting them, but having access to the prompts would be nice). Luckily, Dr. Chuck has made those available somewhere else. That said, it builds nicely on top of the previous courses and increases the difficulty in a gradual manner. I would say here you will find to start going back and forth making sense of the earlier lessons and combining what you learned to make the assignments come to life. Nevertheless, it is possible to do that, and you will learn that the first two were indeed a good stepping stone for the ones to follow. Thank you, Dr. Chuck!
  • Anonymous

    Anonymous completed this course.

    The 3 installment of the specialization deals with getting, parsing and reading data from the internet, specifically data in XML and JSON formats. In comparison with the previous 2 chapters, this one feels quite rushed and overwhelming. Now, I completely...
  • Profile image for Jim Long
    Jim Long
    I like that this course challenges me to think about the solution and not just copy/paste or look on the web for answers. It also encourages me to engage with the forum for a better understanding of what the solution is, rather than just studying alone...
  • Anonymous

    Anonymous completed this course.

    To be very honest while judging this course: As a real beginner with no background of computing science, (only what I have learned from the previous courses of this specialization), I can say that lectures were comprehensive, but assignments were difficult...
  • I enjoyed this curse, initially, it looks quite difficult, like a barriers race but with quite grateful when playing with the example code and the necessary "look for yourself" (find how to open the account in Twitter tools, application for the permission levels, generate the tokens ... takes a while) and stepping forward in the exercises and in the assignments quiz.

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free