8

I use below statment to get html string:

import urllib3

url ='http://urllib3.readthedocs.org/'
http_pool = urllib3.connection_from_url(url)
r = http_pool.urlopen('GET',url)

print (r.data)

But the output is :

b'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "b'\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n\n\n<html xmlns="http://www.w3.org/1999/xhtml">\n  <head>\n    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n    \n\n   .......................................\n</script>\n\n\n\n  </body>\n</html>''

How can I get a raw html string?

Mithril
  • 12,947
  • 18
  • 102
  • 153

1 Answers1

8

The anwser is print (r.data.decode('utf-8'))
But this statment will break in sublime text 2.
Because of this issue.
When I use IDLE,the output will be fine.

Mithril
  • 12,947
  • 18
  • 102
  • 153
  • related : http://stackoverflow.com/questions/3218014/unicodeencodeerror-gbk-codec-cant-encode-character-illegal-multibyte-sequen/3218048#3218048 – Ashwini Chaudhary Jun 23 '13 at 05:57