2 chanyapingcsdn CHANYAPINGCSDN 于 2017.09.04 09:02 提问

使用java获取知乎问答的网页源码为什么后面的“<”">"和引号被转义成&lt;&gt;了

图片说明

6个回答

admin_CMZ
admin_CMZ   2017.09.04 09:23

在html中 <>好像是可以用&lt 和 &gt来表示的

Runner__1
Runner__1   Rxr 2017.09.04 09:44

在html代码中,<>是作为标签的标志的,如果直接用这些字符容易造成歧义,因此如果想在页面中显示这两个字符的话一般都是用&lt这种方式来转义,所以你现在爬取到的确实就是源码,如果想要字符的形式可以自己进行处理,再转换回来

CHANYAPINGCSDN
CHANYAPINGCSDN 感谢回答,但是又不是全部都是这样,前面的一部分显示是正常的
3 个月之前 回复
JeremyIverson
JeremyIverson   2017.09.04 09:54

防止造成歧义 <>为html自带标签 如果在页面想打印‘<’就要用<是less than 的缩写,表示小于,打印'>'就要用>是 great than 的缩写 表示大于。

CHANYAPINGCSDN
CHANYAPINGCSDN 感谢回答,但是又不是全部都是这样,前面的一部分显示是正常的
3 个月之前 回复
Himly_Zhang
Himly_Zhang   2017.09.04 10:33

爬到这个结果非常正常,尤其动态生成的html的页面一般都是用&lt和&gt代替<>,尤其存在于多节点的xml类型的文本中,还有一些常用的应用,比如mybaits
在写sql里面遇到大于小于的时候,因为避免和节点xml的<>冲突,就经常使用&lt和&gt

CHANYAPINGCSDN
CHANYAPINGCSDN 感谢回答,但是又不是全部都是这样,前面的一部分显示是正常的
3 个月之前 回复
songwz123
songwz123   2017.09.04 11:15

因为转义了 < 机器不识别 所以要转成编译语言 靠ASCII 来识别

zhangli2513
zhangli2513   2017.09.04 11:15

很正常,通过转义字符来表示的 可以查看下转义字符表就知道了 http://tool.oschina.net/commons?type=2

Csdn user default icon
上传中...
上传图片
插入图片