在 HTML 中 <、>、& 等字符有特殊含义(<,> 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 源代码中使用字符实体。如需显示小于号,我们必须这样写: &lt;。(字符实体名称是 <,实体编号<)。浏览器渲染 HTML 页面时,会自动把字符实体串换成真实字符。

Python可以通过html.unescape 反转义字符实体,将它转成真实数据

例:

原网页内容:

"好好学习,天天向上"

代码如下

import requests
import html
page=requests.get('http://nbzch.synology.me:5080/web-notepad/msg')
str1="<textarea id=\"content\">"
str2="</textarea>"
print(page.text.split(str1)[1].split(str2)[0])
print(html.unescape(page.text.split(str1)[1].split(str2)[0]))

运行结果

&quot;好好学习,天天向上&quot;
"好好学习,天天向上"

发表评论