相关疑难解决方法(0)

如何使用标准库在python中解析格式错误的HTML

python中内置了很多html和xml库,很难相信不支持实际的HTML解析.

我已经为这个任务找到了很多很棒的第三方库,但是这个问题是关于python标准库的.

要求:

  • 仅使用Python标准库组件(任何2.x版本)
  • DOM支持
  • 处理HTML实体( )
  • 手柄部分文件(如:Hello, <i>World</i>!)

奖励积分:

  • XPATH支持
  • 处理未封闭/格式错误的标签.(<big>does anyone here know <html ???

根据要求,这是我的90%解决方案.这适用于我尝试过的有限的HTML集,但正如每个人都可以清楚地看到的那样,这并不完全可靠.因为我通过盯着文档15分钟和一行代码来做到这一点,我想我可以咨询stackoverflow社区以获得类似但更好的解决方案......

from xml.etree.ElementTree import fromstring
DOM = fromstring("<html>%s</html>" % html.replace('&nbsp;', '&#160;'))
Run Code Online (Sandbox Code Playgroud)

html python parsing dom html-parsing

37
推荐指数
2
解决办法
1万
查看次数

是xml中的字符#或者?

我有特殊字符的值,在我的xml中编码为ascii.例如 :

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <name>&#381;irm&#363;n&#371;</name>
</response>
Run Code Online (Sandbox Code Playgroud)

但是当我解析价值时,name我只得到&价值.难道是允许使用#&在XML?或者我必须使用cdata?

xml ampersand

12
推荐指数
2
解决办法
4万
查看次数

标签 统计

ampersand ×1

dom ×1

html ×1

html-parsing ×1

parsing ×1

python ×1

xml ×1