Существуют сторонние библиотеки, такие как BeautifulSoup и lxml , которые могут автоматически решать проблемы с кодировкой.Но вот грубый пример, использующий просто urlllib2
:
Сначала загрузите некоторую веб-страницу, содержащую символы, отличные от ascii:
>>> import urllib2
>>> response = urllib2.urlopen('http://www.ltg.ed.ac.uk/~richard/unicode-sample.html')
>>> data = response.read()
Теперь посмотрите на «charset» в верхней частиpage:
>>> data[:200]
'<html>\n<head>\n<title>Unicode 2.0 test page</title>\n<meta
content="text/html; charset=UTF-8" http-equiv="Content-type"/>\n
</head>\n<body>\n<p>This page contains characters from each of the
Unicode\ncharact'
Если не было очевидной кодировки, в любом случае, обычно UTF-8 является хорошим предположением.
Наконец, преобразуйте веб-страницу в текст Unicode:
>>> text = data.decode('utf-8')