Unable to complete Python final project


#1

Wasted a good seven hours of my life on Codecademy’s “Final Project” which was impossible to complete for the following reason:

The project instructs you to install python and run it locally without any IDE installed
The project instructs you to use an HTTP client to get website data and then parse the text with BeautifulSoup to then be used in a Markov Chain module
I encounter this error when trying to use BeautifulSoup.get_text() on the HTML I pulled from some website UnicodeEncodeError ‘charmap’ codec can’t find characer u’\u2019 in position blah blah… character maps to … because the Windows console doesn’t have the right encoding. The solution ends up being to install another IDE which wasn’t part of your instructions.

So in short Codecademy failed to understand requirements/resources necessary for the project they had me take on thus resulting in hours of wasted time and frustration.

Awesome


#2

I would dispute whether this time was genuinely wasted.

I’d wager that you’re likely to encounter, at least once in your programming career, a bug or error in your code that will be both difficult to spot whilst also bringing your program to a crashing halt.

I can appreciate that spending a lot of time on something, only for it to not work for a daft reason can be annoying. Rather than railing at Codecademy for something which they might’ve genuinely overlooked - which again, will happen to you at least once during your programming career - look at this instead as a learning opportunity.

You’ve gained useful experience in figuring out why that exasperating error keeps grinding your program to a halt, and dealing with it. Troubleshooting, whatever the cause of the problem, is a massive part of programming and you’ve just put in a good few hours practise. :+1:


#3

I think @thepitycoder covered it all, on a technical note, couldn’t you attempt to enforce a different encoding with BeautifulSoup? see here:

https://stackoverflow.com/questions/20205455/how-to-correctly-parse-utf-8-encoded-html-to-unicode-strings-with-beautifulsoup


#4

That all sounds lovely and thank you for explaining to me that part of being a developer means being resourceful and doing independent research.

The point of the final project is to get acquainted with the fundamentals of how a development environment works and to go through the motions of building a simple program from start to finish. I have a very tough time believing that the designers of this project intended to have the user get mired in advanced encoding issues when they are simply supposed to be getting the lay of the land working outside of the Codecademy console. They clearly didn’t anticipate this environment-related error and are unaware of how lame the user experience is with this exercise, which is precisely why I came on here to complain about it. The exercise is poorly designed and Codecademy should go back and do the whole thing over again.


#5

But codecademy can impossible for see all issues outside there own environment, given they have very little control over it. But that is exactly why we have the forum, to help out in unforeseen issues.

Hurdles are impossible to avoid. And hurdles can actually form a good learning experience.

I had plenty of times where i encountered hurdles which where not covered by tutorial (other sources then codecademy). Its a leap to move outside codecademy’s environment, there bound to be some issues.

Have you attempted to enforce encoding with BeautifulSoup? How did that go?