What's coming out of self.get_html() exactly? Because if it's a unicode object, this call to unicode() seems redundant. And if it's a UTF-8 byte string, it seems like you'd have to pass in the encoding so it doesn't default to ASCII?