2016-07-24 2 views
0

добрый утра. Я пытаюсь сделать это и не покидать меня.hi § символ непризнанный

Вы можете мне помочь?

спасибо

soup = BeautifulSoup(html_page) 
      titulo=soup.find('h3').get_text() 
     titulo=titulo.replace('§','') 

titulo=titulo.replace('§','') 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0:  ordinal not in range(128) 
+0

Что текст 'h3'? –

ответ

3

Define the coding и работать с юникод строк:

# -*- coding: utf-8 -*- 
from bs4 import BeautifulSoup 

html_page = u"<h3>§ title here</h3>" 

soup = BeautifulSoup(html_page, "html.parser") 

titulo = soup.find('h3').get_text() 
titulo = titulo.replace(u'§', '') 
print(titulo) 

Печатает title here.

+0

tkns Мне нужно только «u» Tks. –

0

Я объясню вам ясно, что проблема:

По умолчанию Python не распознает определенные символы, такие как «А» или «Фанат». Для того, чтобы Python признать эти символы, которые Вы должны поместить в верхней части вашего скрипта:

# -*- coding: utf-8 -*- 

Этот код делает Python распознавать определенные символы, которые по умолчанию не распознаются. Другой способ использовать кодирование использует «SYS» библиотеки:

# sys.setdefaultencoding() does not exist, here! 
import sys 
reload(sys) #This reloads the sys module 
sys.setdefaultencoding('UTF8') #Here you choose the encoding 
Смежные вопросы