xpath解析网页文件,每行结尾都出现一个奇怪的编码“&#13”

问题遇到的现象和发生背景

爬虫课学到XPATH 解析。然后练习解析html 文件

问题相关代码,请勿粘贴截图
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
    <h1>我的第一个标题</h1>
    <p>我的第一个段落。</p>
    <div>
        <ul>
            <li class="item-0"><a href="link1.html">first 中午</a></li>
            <li class="item-i active"><a href="link2.html">second item</a></li>
            <li class="item-i active red"><a href="link3.html">third item</a></li>
            <li class="item-i active blue" name = "li"><a href="link4.html">fourth item</a></li>
            <li class="item-0"><a href="link5.html">fifth item</a>
        </ul>
    </div>
</body>
</html>

from lxml import etree

h2=etree.parse("1.html",etree.HTMLParser(encoding='utf-8'))
print(h2)
str=etree.tostring(h2,encoding="utf-8")
print(str.decode('utf-8'))

运行结果及报错内容

img

运行结果就是解析出来的东西每个后面都会加&#13; teacher看了半天说可能是换行符编码,他也解决不了但没啥影响

我的解答思路和尝试过的方法

最开始用的是自己写的一个简单HTML ,后来拿了一个简单网页的源代码复制过来做HTML , 最后去runoob教程拿个简单框架,自己写了几个标签的HTML。 无一例外的会出现这个奇怪的编码。

我想要达到的结果

为什么就我会出来这个编码……虽然没报错 也不影响使用。 但还是觉得哪里不对。我想知道到底哪里不对?

method默认为xml,设置为html就行了

etree.tostring(h2, encoding="utf-8", method='html')

这个应该是占位符,用replace替换掉就好了