繁体   English   中英

忽略Python中的XML错误

[英]Ignoring XML errors in Python

我在Python中使用XML minidom(xml.dom.minidom),但XML中的任何错误都将终止解析器。 是否可以忽略它们,例如浏览器? 我试图用Python编写浏览器,但如果标签不完全兼容,它只会引发异常。

有一个叫做BeautifulSoup的图书馆,我想这就是你要找的东西。 当您尝试解析无效的XML时,普通的XML解析器将无法正常工作。 BeautifulSoup更容错,它仍然可以从无效的XML中提取信息。

Beautiful Soup是一个Python HTML / XML解析器,专为快速周转项目而设计,例如屏幕抓取。 三个功能使其功能强大:

  1. 如果给它不好的标记,美丽的汤不会窒息。 它产生一个解析树,使其与原始文档几乎一样有意义。 这通常足以收集您需要的数据并逃跑。
  2. Beautiful Soup提供了一些简单的方法和Pythonic习语,用于导航,搜索和修改解析树:用于剖析文档和提取所需内容的工具包。 您不必为每个应用程序创建自定义解析器。
  3. 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM