2
我需要從網頁打印RSS鏈接,但此鏈接解碼不正確。這裏是我的代碼:lxml中的HTML元素得到錯誤編碼,如Н а й
import urllib2
from lxml import html, etree
import chardet
data = urllib2.urlopen('http://facts-and-joy.ru/')
S=data.read()
encoding = chardet.detect(S)['encoding']
#S=S.decode(encoding)
#encoding='utf-8'
print encoding
parser = html.HTMLParser(encoding=encoding)
content = html.document_fromstring(S,parser)
loLinks = content.xpath('//link[@type="application/rss+xml"]')
for oLink in loLinks:
print oLink.xpath('@title')[0]
print etree.tostring(oLink,encoding='utf-8')
這裏是我的輸出:
utf-8
Позитивное мышление RSS Feed
<link rel="alternate" type="application/rss+xml" title="Позитивное мышление RSS Feed" href="http://facts-and-joy.ru/feed/" />
標題內容得到正確本身顯示出來,但裏面的ToString()它得到了奇怪的&#...符號代替。如何正確打印整個鏈接元素?
在此先感謝您的幫助!
不確定爲什麼你認爲這是不正確的。據我所知,這些文本是俄文的UTF-8編碼。你期待它給你什麼? –
我想操作系統預計實際的俄羅斯字符,而不是字符引用:П而不是'П'等 – mzjn
是的,我想看到實際的俄羅斯字符。 – Apogentus