Python+;lxml+;etree编码问题

Python+;lxml+;etree编码问题,python,encoding,lxml,elementtree,Python,Encoding,Lxml,Elementtree,我正在尝试使用以下代码解析某些页面: import urllib.request import requests from lxml import etree s = requests.session() s.headers.update({ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Firefox/45.0' }) results = open("res.

我正在尝试使用以下代码解析某些页面:

import urllib.request
import requests
from lxml import etree

s = requests.session()
s.headers.update({
     'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) 
Gecko/20100101 Firefox/45.0'
})
results = open("res.txt", "w")
for i in range(510077, 2780673):
    results = open("res.txt", "a")
    print(i)
    url = "url" + str(i) + "&print=true"
try:
    content = s.get(url).text
    tree = etree.HTML(content)
    a = str(tree.xpath("//*[@class='prob_nums']")[0].text)
    b = etree.tostring(tree.xpath("//*[@class='pbody']")[0])
    c = etree.tostring(tree.xpath("//*[@class='nobreak solution']")[0])
    results.writelines("%s    %s    %s" % (a, b, c))
    results.close()
except Exception:
    print("error")
但在输出方面存在问题: (片段)

&1053а доске на­пи­са


如何将这些符号转换为普通文本?谢谢您

您可以使用
例外情况除外作为e:
打印(e)
相反,错误消息可以帮助您尝试清晰地打印异常消息,但没有错误。它是正常输出的一部分,没有任何错误。这只是编码方面的一个问题,我不知道如何解决您正在使用tostring()打印xml,因此这就是您得到的结果,即xml。也许你需要的是看到解码(未转义)版本?您是否尝试读取xml.sax.saxutils escape()和unescape()的文档。Mmm。。。谢谢使用html.parser.unescape有帮助。您可以使用
异常作为e:
打印(e)
,相反,错误消息可以帮助您尝试清晰地打印异常消息,但没有错误。它是正常输出的一部分,没有任何错误。这只是编码方面的一个问题,我不知道如何解决您正在使用tostring()打印xml,因此这就是您得到的结果,即xml。也许你需要的是看到解码(未转义)版本?您是否尝试读取xml.sax.saxutils escape()和unescape()的文档。Mmm。。。谢谢使用html.parser.unescape会有所帮助。
 <p class="left_margin">&#1053;&#1072; &#1076;&#1086;&#1089;&#1082;&#1077; &#1085;&#1072;&#173;&#1087;&#1080;&#173;&#1089;&#1072;