python - lxml.etree为什么会自动加上加上</i>?
问题描述
正在学习lxml,代码如下:
from lxml import etreetext = ’’’<i class='cell maincell'> <p class='title'><a target='_blank' href='https://itjuzi.com/company/60321'> <span>洋鼹鼠</span></a> </p> <p><span class='tags t-small c-gray-aset'> <a href='https://itjuzi.com/investevents?scope=145'>电子商务</a></span><span class='loca c-gray-aset t-small'> <a href='https://itjuzi.com/investevents?prov=天津'>天津</a></span> </p></i>’’’html = etree.HTML(text)print(etree.tostring(html,encoding=’utf-8’).decode(’utf-8’))
输出如下:
<html><body><i class='cell maincell'> </i><p class='title'><a target='_blank' href='https://itjuzi.com/company/60321'> <span>洋鼹鼠</span></a> </p> <p><span class='tags t-small c-gray-aset'> <a href='https://itjuzi.com/investevents?scope=145'>电子商务</a></span><span class='loca c-gray-aset t-small'> <a href='https://itjuzi.com/investevents?prov=天津'>天津</a></span> </p></body></html>
主要不理解为什么<i>标签那里会出错呢?请问怎么解决这个问题?谢谢~
问题解答
回答1:主要是因为
p元素内容分类 Flow content, palpable content.允许的内容 Phrasing content.允许的父元素任何接受flow content的元素
i元素Content catergories Flow content, phrasing content, palpable content.允许量 phrasing content.
很显然P元素的父元素应该是flow content类型的,然而i并不满足条件,也就是说这是不符合规范的。解决办法就是i直接换为p。
相关文章:
1. windows误人子弟啊2. php传对应的id值为什么传不了啊有木有大神会的看我下方截图3. 如何用笔记本上的apache做微信开发的服务器4. python - linux 下用wsgifunc 运行web.py该如何修改代码5. 关于mysql联合查询一对多的显示结果问题6. 实现bing搜索工具urlAPI提交7. 冒昧问一下,我这php代码哪里出错了???8. mysql优化 - MySQL如何为配置表建立索引?9. MySQL主键冲突时的更新操作和替换操作在功能上有什么差别(如图)10. 数据库 - Mysql的存储过程真的是个坑!求助下面的存储过程哪里错啦,实在是找不到哪里的问题了。
