2014-01-25 3 views
1

У меня есть некоторые HTML, что в браузере гласит:Python BeautifulSoup - символы получать искажаются при копировании в новый файл

‎(239 × 340 pixels, file size: 29 KB, MIME type: image/jpeg)

Я могу вытащить его из исходного HTML и бросить его в новый HTML документ : -

file_details = self.soup.body.find("div", {"id": "file"}) 
self.new_soup.body.insert(3, file_details) 

Если я печатаю пункт file_details на в терминале, я могу видеть строку, я хочу.

, когда я оказать new_soup HTML, я получаю: -

‎ (239 × 340 pixels, file size: 29 KB, MIME type: image/jpeg)

глядя на результирующей HTML, я могу видеть, что дополнительные символы, которые были добавлены в в теге.

Я не знаю, где они приходят, но догадка я либо чтение с неправильной кодировке, или записи с неправильной кодировкой soomewhere

Любые предложения?

+1

Вы можете принять смотреть на BeautifulSoup документации, более конкретно [ "Кодировка"] (HTTP://www.crummy.com/software/BeautifulSoup/bs4/doc/#encodings), ["Кодировка вывода"] (http://www.crummy.com/software/BeautifulSoup/bs4/doc/#output-encoding). – iljau

+0

Отлично. Я кодировал как 'utf-8', должен был быть' latin-1' –

ответ

1

Спасибо iljau в комментариях, я исправил его.

В моей подготовке к сохранению статута я притворился неправильным кодированием.

Был: -

html = soup.prettify("utf-8")

фиксированным становится: -

html = soup.prettify("latin-1")

Смежные вопросы