Chevron Left
Back to Using Python to Access Web Data

Learner Reviews & Feedback for Using Python to Access Web Data by University of Michigan

43,134 ratings

About the Course

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....
High quality content

(256 Reviews)

Practical assignments

(217 Reviews)

Top reviews


Jun 18, 2020

This course was really interesting and did a good job introducing complicated topics in usefully simplified form. It was a pleasure to listen to the instructor and I got everything I wanted out of it.


Aug 19, 2022

Interesting course, I consider information about XML and JSON as very informative. I will continue specialization "Python For Everybody". Thanks for Dr. Chuck and everyone, who created this material.

Filter by:

1 - 25 of 7,760 Reviews for Using Python to Access Web Data

By Anthony S

Apr 1, 2018

So far courses 1 and 2 have been great with excellent explanations. I have no idea why, but that all changes for this course. The explanations are lacking and I'm left super confused. I ended up passing this class, but I feel I didn't get a good grasp and would need to take another "access web data" like class to actually have a grasp, even a basic grasp at that. This course should be revisited with better explanations.

By Christian W

Jul 22, 2016

Unfortunately on the whole I was very disappointed with this class. I took the first two Python courses and found them manageable, but this third one was an unrealistic increase in difficulty from the previous two. I reached out for help on the discussion board a number of times and saw many others were struggling as well. Mentors who responded to some of the other students were clearly getting defensive when those students were getting nowhere on the assignments. I think this program should reevaluate itself so students such as me can keep up with the assignments. On average I was spending about 10 hours per week just on the syntax for building the programs.

A little about my background: I have 20 years of experience in the private sector and am currently an analyst in cyber security. I have an undergraduate degree in finance, an MBA, and another master’s degree in Data Analytics. This 5 course program has been described and sold as beginner level, and given my background I should have handily been able to complete it, but that was definitely not the case. Normally I don’t leave feedback unless I feel strongly about something, so I hope you take it seriously. Thanks.

By Daniel H

Jun 15, 2019

The assignments often go way beyond what is taught in the lectures or book. There was not a single assignment that I did not have to rely on reading tons of extra info from Overstack or other coding sites. I don't mind if the course is challenging, but it's challenging not because it's extremely difficult, but rather because it is testing things that weren't taught.

By Wenjing L

Mar 1, 2020

This third course is getting much more difficult than the first two courses, and sometimes I have to "just remember including that code and it will work" instead of understanding the whole thing. This makes it difficult for me to locate my bugs, since I don't know if it's the problem of the logic or the problem of my code structure.

The assignments are hard, but they are also easy, because we only need to change a little part of the sample code to get the answers. I don't think it can really challenge students and push us to understand better, because even if I finished all the assignments, I still feel a little confused.

But anyway, Dr. Chuck is such a good illustrator as always, and I just hope he can expand a little more so that it can be less confusing.

I have a few suggestions:

1. Starting from the 2nd course in this series, maybe the first assignment of installing python or posting pictures on forums for students for feedback can be changed into OPTIONAL because most of us who have this course have completed the former courses, and those are repeated workload.

2. The assignment sample code for WEEK 5 is wrong! The code provided is for week 6, and that CONFUSED ME A LOT! Please change that asap.

3. The assignments can be a little more variable, because although they are difficult enough(regarding students have to understand the concepts), they actually bring little help for students to understand the structures better. We only need to change so little a part in the ending part of the sample code, and it will work.

4. Some questions in the quizzes are too tricky and unnecessary for the course material. Like who invented what language? That shouldn't be a thing we should recite. Maybe the quiz questions can focus on more of the understanding of the concepts.

Thanks for reading.

By Sumit K

Jul 22, 2019

This course was horribly explained. The XML and JSON chapters just went over my head. I had to go to youtube for better and logical explanations. Feels like the instructor is in a hurry to finish the course content and do something else in his life

By Raquel R G

Dec 11, 2018

Doing this course is not so much related to Python but to other computer engineering topics.

Network concepts are required, as well as knowing other programming languages such as HTML, XML or JSON, API or WebServices. Assignments require parsing webpages in HTML, XML or JSON, so knowledge of the same is needed. I would not pursue this course unless having strong knowledge about those topics

It is offered as part of a certification for people that know nothing about programming, so between course 2 and 3 there is a huge conceptual gap (going from loops, if-else and defining variables to HTTPS protocols, JSON and Service Layers). Keep your expectations right

By Alan M R

Jan 9, 2018

As an experienced programmer, I am unimpressed. The assignments cover a good set of tools; web i/o. I would introduce classes before getting into web i/o; this would emphasize critical coding habits of productive programmers: modularity and reusability. Also, variables and files are poorly named. Comments are lacking. The exercises don't ask students to program; they ask students to tweak (at most) the example programs. Students are instructed to disable security features without sufficient discussion of the risks involved. Overall, the presentation looks rushed and unpolished. Code looks like it was hobbled together until it worked and never edited for clarity. If someone I cared about wanted examples of good programming, I would tell them to avoid this.

By Dagart A

Apr 24, 2020

Great course. The lectures are clear and thorough. The assignments are challenging yet doable. The only thing I would like is to see more assignments to get more practice with the techniques learned.

By Piyush J

Jul 13, 2019

well this was a good course though but I didn't feel very connected with web services i.e. I couldn't understand each line of code written for APIs. I didn't understand the concepts used in geojson api and twitter api completely. I would recommend to add basic explanation about these as I was not able to write codes myself that are illustrated in the course. So that's the place where I lost connection with the course as these concepts are not explained at beginner level programmers who are listening terms like API, SOA, JSON, XML, Web Scraping etc first time. So please elaborate these topics more simply and in detail so that we can understand each line of code.

By Ali A

Aug 4, 2019

The course was great, but the teaching staff was so rude and mean to me.

By Alexander B

Jun 6, 2019

Getting a bit more challenging than the earlier courses in the specialization. The exercises require more struggle, but all the information is there. Another step along the way. Thank you, Dr. Chuck!

By Hank L

Dec 11, 2019

NOTE: I am taking this course as a professional looking to move from Excel (which I have a high level of experience with) to Python. It is entirely possible that this course perfectly suits the needs of a person who has taken programming classes before and can fill the gaps, but it was not well suited for someone in my position. Below is my review of course #3 of the Python for Everybody certificate program.

Let me start by saying that much like the University of Michigan football team, this course is highly reviewed at the onset, starts off well, and falls apart near the end.

The class does a good job of covering basics on a topic, but expects one to bridge the gap between learnings with steps not covered (or barely touched on) in the program. This is likely due to an effort to keep the videos manageable in length, as I have yet to come across one longer than 20 minutes. However, this attempt at brevity causes much to be missed in execution; many students post the same questions to the online forum for help, which leads one to believe that crucial steps were missed or overlooked by the majority of students. I routinely find myself passing the 10-question quiz on the first attempt, but then not understanding what the assignment is asking me to accomplish. This results in me making wild guesses at the code and re-watching hours of content for a throwaway sentence that holds the key to the problem at hand.

To summarize, the videos seem to prepare the user for the end-of-chapter quiz, but the assignments are far detached from the learnings of the video and textbook. This course might be well suited for someone who has used Python or other languages in the past and wants to take a course to refine their skills. If you're a professional looking to learn Python for the first time, you're better off buying a book that provides the answer to an exercise with step-by-step rationale for the process (something the author's textbook does not do, unfortunately).

By Zach A

Nov 2, 2019

Great up until Week 5 & 6. Probably needs to be a 7 or 8 week class at least. Some assignments basically require you to have previous programming experience, or else you will likely find yourself browsing the web looking for guidance and help.


Aug 5, 2019

Horrible course, it should not be part of this specialization!!!!!

By Greg C

Apr 8, 2019

Great material, but it feels a bit rushed, covering as many topics as it does, in such a short amount of time.

By Sean M

Jun 19, 2020

This course was really interesting and did a good job introducing complicated topics in usefully simplified form. It was a pleasure to listen to the instructor and I got everything I wanted out of it.


Apr 16, 2020

The course fails to teach anything. The concepts r introduced well but the coding part comes out of no where. Coding part should've been taught systematically considering people have no prior knowledge in web data.

By Hanaa A K

Sep 6, 2019

I'm not confident I know how to write the code alone without copying and pasting from an existing code. I am also not sure I understand what REST is.

By Rameses

May 26, 2020

This course does introduce the beginning student to the web access aspects albeit in a rudimentary manner. This could have been a very informative and educational course but it was tarnished because of several shortcomings and errors.



If you have not done any form of web-based programming or not familiar with that technology, this course does introduce a beginning programming student on the rudimentary aspects of accessing web data using Python. You will learn techniques such as creating sockets, connecting to a host and retrieving web pages as well as related third-party products that help you understand what's going on behind the scenes



1. The course presents complex code with no comments and no explanation of the more complex functions. You come away with a empty feeling of not having understood everything that you have learned. And that includes the assignments which use code provided by the instructor

2. The topics regarding XML and Json structures and access methodologies could have been explained in more detail. Chuck went over his code without explaining some of the key points which I had to discover on my own. Extremely challenging for newbies

3. I felt the assignments were confusing and not very challenging. I realize this is a beginner's course and therefore the level has to be kept down but I felt that a couple more (optional if necessary) assignments for some of us who want to delve deeper into this area would have been more educational

4. As far as some of the technology described in the course and the sample code provided for web scraping twitter info, what can I say....except that it was DISASTROUS! Chuck talks about using telnet to access web servers. But most of the students did not understand the concepts as was evident from the innumerable questions for help. It seemed like the teaching staff themselves were ill-prepared to answer telnet questions or perhaps thoroughly frustrated as evinced in their curt replies and a burning desire to skip questions related to telnet. This spiraling of telnet-related questions became so heavy that one of the mentors finally put the topic to eternal rest by stating..."I am going to close this thread because telnet has been deprecated since the videos were made and there is no reason wasting time on an obsolete method." All very well said, but all this frustration and anguish for both students and mentors about such an "obsolete" technology could have been squarely avoided had this topic been removed or a warning note placed. Same for the twitter code samples provided in this course, which did not work because of structural and policy changes implemented by twitter. Not the instructor's fault though.

5. Another frustrating experience was the lack of help provided for those who posted questions on the socket programs provided by the instructor. The programs were written for a MacOS environment and the exact same code fails miserably in a Windows environment. Sometimes the students make mistakes in typing the code, sometimes they are behind a firewall/proxy server which results in a run-time error. There have been innumerable posts about the socket errors faced by many students. It would have been helpful for the students to understand what they did wrong. One mentor, Tamara Brunnock, the teaching staff for this course cleverly sidesteps the original problem by a standardized cookie-cutter response "Try using Chrome Developer Tools instead". This exact phrase has been used in at least 30 responses and variations of this phrase in other responses. This tool is in no way related to the original Python program and does not help the student understand what went on in the program or how to understand the error. If a teaching staff member can respond to a legitimate student complaint on a programming problem by directing them to a third-party tool instead of addressing the original problem, it does not speak well of this course.

I would have given this course a higher rating but after all the frustrations I encountered, the lack of adequate help from the staff and a lack of explanation of concepts used in the lectures have left me unsatisfied and unhappy with having spent big bucks on this course. This course needs a lot of upgrading to newer technologies and dissolution of obsolete technologies and non-functional code that is provided.

By all means take this course but be prepared for a frustrated, time-consuming experience.

By Arafatur R

May 18, 2020

Well being a graduate of CSE course 1 & 2 of this specialization were fairly easy to me and fun to learn. But, this one in the last 2 weeks kept me scratching my head about what's going on here. The assignments were too hard or too easy at the same time. Why hard?? Because, too much was covered in the week 5 and week 6 and clear explanations weren't given. I found most assignments too hard at the beginning and then too easy afterwards because I ended up copying the supplied source codes and tweaking them to get the job done. I didn't write most parts of the codes like in the first two courses. I completed the course quite easily but I doubt how much I've actually learned. Most parts of the source codes I've submitted is still a mystery to me. I don't understand each line of code I've submitted which I think I should when I've completed the course.

By Wilson W

May 4, 2020

Previous courses seem better constructed and maintained. A glaring error was that the Week 6 quiz asked several questions about REST, but this was not covered in the material at all. Many other students have pointed this out on the forum several months ago. It looks like REST was removed from the syllabus, but not from the quiz. It would be good if they corrected this, as I went through all the course material again trying to figure out what I had missed.

By Dario R

Nov 22, 2015

Excellent introduction into accessing and scraping web data with Python.

Professor Chuck is very good at explaining things and the code snippets provided were just enough to get you started on your own.

Previous experience in Python is required. If you are coming from the first four Python for Everyone courses, you will find this one a noticeable step up in difficulty. This course uses Python 2 but I personally did all the code in Python 3 – it's possible, but be prepared to make changes and look up differences in modules between 2 and 3.

My co-students were also really helpful on the forums, although the rule not to post your source code makes trouble shooting difficult and laborious.

The one thing I found missing was the professor instructing and engaging you more on how to read and make use of documentation. It's a core skill for a programmer! With all the Python modules used in this course (Beautiful Soup, ET, XML, JSON) you are bound to come across situations where reading the documentation will open up many new pathways and enhance your understanding.

All in all a fun learning experience. Would recommend. A big thank you to Dr. Chuck & all the visible and invisible staff members who made it possible.

By Karunamoorthy M

May 14, 2019

One of the Great Course on web Data Accessing through Python.

Thank you for your friendly teaching method.

By Vaughn P

Apr 29, 2016

Dr. Charles Severance is by far the best Computer Science professor out there!!! I've done a significant amount of online Computer Science courses -as well as classroom courses back in college - and not one professor has been as fun and easy to understand as Chuck. He puts presents every topic in such a way that you're never scared off thinking "i'll never understand this stuff." He make computers and everything technical make sense. I've basically binge-watched almost every lecture/course he's headed up.

I've always been a little embarrassed to say I code in Python when talking with professional Developers. I just thought it was an entry level language with limited capabilities. Now i'm proud to say i code in Python. I can't believe i can develop my on web browsers now.

He makes learning fun and seems like he's be a really fun guy to get to hang with. Thanks Dr. Chuck for your love of teaching, you're the best!

By 赵泽民

Jul 5, 2019

The course materials provided are very clear and useful.