Python - urllib2.urlopen - Почему я получаю искаженные символы? - PullRequest
1 голос
/ 26 июля 2010

Вот моя проблема:

import urllib2

response=urllib2.urlopen('http://proxy-heaven.blogspot.com/')
html=response.read()

print html

Это просто этот сайт, и я не знаю, почему в результате все искаженные символы. Кто-нибудь может помочь?

Ответы [ 3 ]

1 голос
/ 26 июля 2010

У меня работает:

import urllib
response=urllib.urlopen('http://proxy-heaven.blogspot.com/')
a = response.read()
print a[:50]

> '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Stric'

Возможно, у вас проблема с кодированием в вашем терминале.

1 голос
/ 26 июля 2010

Без вашего вывода трудно сказать, но я бы поспорил, что это проблема кодирования: этот сайт закодирован в utf8.Например, если ваш терминал настроен на iso-latin, он не сможет правильно отображать символы.

0 голосов
/ 26 июля 2010

кодирование может быть вашей проблемой, в этом случае вы хотите этот код.

import urllib
s = str(urllib.urlopen('http://proxy-heaven.blogspot.com/').read(), encoding='utf8')
...