Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python lxml截断包含';小于';性格 >s='_Python_Html Parsing_Lxml - Fatal编程技术网

Python lxml截断包含';小于';性格 >s='

Python lxml截断包含';小于';性格 >s=',python,html-parsing,lxml,Python,Html Parsing,Lxml,有人知道这方面的解决方法吗?您的HTML输入被破坏;你想要的东西在这里没有什么特别的意义。您的标记格式不正确。XML解析器不必猜测如何修复垃圾标记。所以先修正你的标记,你的否定语气是不相关的。我正在抓取第三部分html页面,需要按原样解析它。我举的例子只是为了说明这个问题。呃,有一段时间没有做太多的html内容了,忘记了结尾的分号:)你的答案很好。您关于将BS与html5lib结合使用的建议解决了这个问题。非常感谢。对于那些投反对票的人——我想他们不理解这个问题。既然你已经在使用lxml,那么值

有人知道这方面的解决方法吗?

您的
HTML输入被破坏;你想要的东西在这里没有什么特别的意义。您的标记格式不正确。XML解析器不必猜测如何修复垃圾标记。所以先修正你的标记,你的否定语气是不相关的。我正在抓取第三部分html页面,需要按原样解析它。我举的例子只是为了说明这个问题。呃,有一段时间没有做太多的html内容了,忘记了
结尾的分号:)你的答案很好。您关于将BS与html5lib结合使用的建议解决了这个问题。非常感谢。对于那些投反对票的人——我想他们不理解这个问题。既然你已经在使用
lxml
,那么值得指出的是,它有一个遵循w3c推荐的解析方法(这在理论上是你的浏览器使用的方法)的框架。这是一个破损的html,但遗憾的是lxml不能优雅地处理它。这种类型的html在野外非常常见。
>>> s = '<div> < 20 </div>'
>>> import lxml.html
>>> tree = lxml.html.fromstring(s)
>>> lxml.etree.tostring(tree)
'<div> </div>'
>>> BeautifulSoup("<div> < 20 </div>", "html5lib")
<html><head></head><body><div> &lt; 20 </div></body></html>