2017-08-03 59 views
0

我想從this XML文件中讀取表情符號。手動複製它們可以正常工作,並且可以打印並在瀏覽器中正確顯示。使用Python從XML文件中讀取表情符號

import requests 
import xml.etree.ElementTree as ET 

root = ET.fromstring(requests.get('http://www.unicode.org/repos/cldr/trunk/common/annotations/en.xml').text) 

print(root[1][21].attrib['cp']) 

這應該取 '笑嘻嘻面與微笑的眼睛'
字節( 'UTF-8')返回這樣的:B '\ XF0 \ x9f \ X98 \ X84'。 但使用上面的代碼獲取產生'ð\ x9f \ x98 \ x84'。
在XML解析器中應該做些什麼?

回答

2

Response.text將解碼內容(請參閱http://docs.python-requests.org/en/master/user/quickstart/#response-content)。 ElementTree再次解碼已解碼的字節(基於<?xml version="1.0" encoding="UTF-8" ?>)。

嘗試Response.content未觸摸響應傳遞給ElementTree

import requests 
import xml.etree.ElementTree as ET 

root = ET.fromstring(requests.get('http://www.unicode.org/repos/cldr/trunk/common/annotations/en.xml').content) 

print(root[1][21].attrib['cp']) 
+0

我應該已經閱讀文檔,我猜。 – Lupilum