originalEncoding
- это именно то, что является исходной кодировкой, поэтому тот факт, что BS хранит все как Unicode внутри, не изменит это значение.Когда вы гуляете по дереву, все текстовые узлы имеют Unicode, все теги имеют Unicode и т. Д., Если вы не преобразуете их иным образом (скажем, с помощью print
, str
, prettify
или renderContents
).
Попробуйте сделать что-то вроде:
soup = BeautifulSoup(data)
print type(soup.contents[0])
К сожалению, все, что вы делали до этого момента, нашло очень мало методов в BS, которые конвертируют в строки.