[英]Python - Convert unicode hex to string
我正在使用Readability Parser API從網頁中提取內容。 網頁使用拉丁字符集是可以的,但是當我用西里爾文提取文章時,其結果如下:
<div>Ввоскресень</div>...etc
有趣的是,網頁的標題是用西里爾字母正確提取的,而不是內容。 我的嘗試是按照此答案中的建議執行以下操作:
content = unicodedata.normalize('NFKD', content).encode('ascii','ignore')
但它沒有用。 您能否告訴我在保存到數據庫之前是否可以轉換此字符串?
請讓我知道問題標題是否正確解釋了我的需求。 謝謝。
一種方式(Python 3.3):
>>> s='<div>Ввоскресень</div>'
>>> import html.parser
>>> h=html.parser.HTMLParser()
>>> h.unescape(s)
'<div>Ввоскресень</div>'
Python 2.7:
>>> s='<div>Ввоскресень</div>'
>>> import HTMLParser
>>> h=HTMLParser.HTMLParser()
>>> print(h.unescape(s))
<div>Ввоскресень</div>
PS我去尋找文檔鏈接,而且好像沒有unescape
文檔。 這是一種不使用未記錄的API的方法:
>>> re.sub(r'&#x(.*?);',lambda x: chr(int(x.group(1),16)),s)
'<div>Ввоскресень</div>'
根據注釋,它最終似乎已在Python 3.4中記錄(並移走):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.