[英]Ignoring XML errors in Python
我在Python中使用XML minidom(xml.dom.minidom),但XML中的任何错误都将终止解析器。 是否可以忽略它们,例如浏览器? 我试图用Python编写浏览器,但如果标签不完全兼容,它只会引发异常。
有一个叫做BeautifulSoup的图书馆,我想这就是你要找的东西。 当您尝试解析无效的XML时,普通的XML解析器将无法正常工作。 BeautifulSoup更容错,它仍然可以从无效的XML中提取信息。
Beautiful Soup是一个Python HTML / XML解析器,专为快速周转项目而设计,例如屏幕抓取。 三个功能使其功能强大:
- 如果给它不好的标记,美丽的汤不会窒息。 它产生一个解析树,使其与原始文档几乎一样有意义。 这通常足以收集您需要的数据并逃跑。
- Beautiful Soup提供了一些简单的方法和Pythonic习语,用于导航,搜索和修改解析树:用于剖析文档和提取所需内容的工具包。 您不必为每个应用程序创建自定义解析器。
- Beautiful Soup会自动将传入的文档转换为Unicode,将传出的文档转换为UTF-8。 您不必考虑编码,除非文档没有指定编码并且Beautiful Soup不能自动检测编码。 然后你只需要指定原始编码。
美丽的汤解析你给它的任何东西,并为你做树遍历的东西。 您可以告诉它“查找所有链接”,或“查找类externalLink的所有链接”,或“查找其网址匹配的所有链接”foo.com“,或”查找具有粗体文本的表格标题,然后给出我那个文字。“
应该注意的是,虽然HTML看起来像XML,但它不是XML。 XHTML是HTML的XML形式。
例如,请参阅extract-text-from-html-file-using-python,以获取有关在Python中解析HTML的方法的建议。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.