当前位置: 首页 > 面试题库 >

在Python中清理HTML

宿淳
2023-03-14
问题内容

我正在汇总来自一些外部来源的内容,发现其中一些内容的HTML /
DOM中包含错误。一个很好的例子是HTML缺少结束标记或格式错误的标记属性。有没有办法清除Python本身或我可以安装的任何第三方模块中的错误?


问题答案:

我建议Beautifulsoup。它具有出色的解析器,可以相当优雅地处理格式错误的标记。阅读完整个树后,就可以输出结果了。

from bs4 import BeautifulSoup
tree = BeautifulSoup(bad_html)
good_html = tree.prettify()

我已经使用过很多次了,它的确很神奇。如果您只是从bad-html中提取数据,那么BeautifulSoup在提取数据时确实很出色。



 类似资料:
  • 我想从文本中删除所有一个字符的单词。 例如:我想清除下面文本中所有加粗的字符。(,,,等),重新调整已清除的文本。 Lorem Ipsum只是个傀儡?印刷和排版行业的文本。自16世纪以来,Lorem Ipsum一直是业界标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成*字体样本书。它不仅存活了五个世纪,而且还跨越到[电子排版],基本上保持不变。

  • 问题内容: 是否存在任何标准的“自带电池”方法可以从Python脚本中清除终端屏幕,还是我必须诅咒(库,而不是文字)? 问题答案: 那么转义序列呢?

  • Clean,清理。把未跟踪的文件清理掉。 练习 1,在项目下面新建一个文件,名字是 demo.md。 touch demo.md 然后查看状态,会返回: On branch master Untracked files: (use "git add <file>..." to include in what will be committed) demo.md nothing a

  • 问题内容: 运行代码 退货 因此,每次在列表列表中每次更新元组(列表)的第一个参数,但第二个参数list [0]却没有更新。有人可以解释这里发生的事情并提出解决方法吗?我想输出 问题答案: 列表是可变类型-为了创建副本(而不只是传递相同的列表),您需要明确地这样做: 但是,已经是Python内置的名称-最好不要将该名称用作变量。这是一个不用作变量名并复制的版本: 请注意,我演示了两种不同的方法来复

  • 问题内容: 以上失败,并出现AttributeError异常。我了解Python在调用时不保证 “全局变量”(在这种情况下是否存在成员数据)的存在。如果是这种情况,并且这是导致异常的原因,那么如何确保对象正确销毁? 问题答案: 我建议使用Python的语句来管理需要清理的资源。使用显式语句的问题在于,你必须担心人们会忘记完全调用它,或者忘记将其放在块中以防止发生异常时发生资源泄漏。 要使用该语句,

  • 主要内容:Jsoup 清理HTML 语法,Jsoup 清理HTML 说明,Jsoup 清理HTML 示例以下示例将展示 XSS 攻击或跨站点脚本攻击的预防。 Jsoup 清理HTML 语法 Jsoup : 解析给定 HTML 字符串的主类。 html : 初始 HTML 字符串。 safeHtml : 清理过的 HTML。 Whitelist : 提供默认配置以保护 html 的对象。 clean() : 使用白名单清理 html。 Jsoup 清理HTML 说明 Jsoup 对象使用白名单配置