搜索

首页  >  问答  >  正文

python - 怎么查看Beautiful Soup的prettify(encoding, formatter="minimal")

soup=bs(html)
html2 = soup.prettify('utf-8', formatter='minimal')

prettify() 方法的第二个参数 formatter 到底有几个合法的取值呢?

我们只知道有 minimal, 还有什么呢?我们都不知道.
怎么找到这些参数的值呢?
这是 python 最不好的一个地方,方法的说明里不写明白,使用者怎么寻找这些特定的取值呢?

巴扎黑巴扎黑2785 天前1014

全部回复(2)我来回复

  • 迷茫

    迷茫2017-04-18 10:29:16

    在官方文档里面有完整的说明:

    输出格式化程序

    • 默认是formatter="minimal"。字符串只会被处理到足以确保 Beautiful Soup 生成有效的 HTML/XML

    • 如果你传入 formatter="html",Beautiful Soup 会尽可能将 Unicode 字符转换为 HTML 实体

    • 如果你传入 formatter=None,Beautiful Soup 根本不会修改输出中的字符串。这是最快的选项,但可能会导致 Beautiful Soup 生成无效的 HTML/XML

    • 最后,如果您传入格式化程序的函数,Beautiful Soup 将为文档中的每个字符串和属性值调用该函数一次。你可以在这个功能中做任何你想做的事。

    至于要找代码:

    雷雷

    我回答过的问题:Python-QA

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:29:16

    看代码...

        HTML_FORMATTERS = {
            "html" : HTMLAwareEntitySubstitution.substitute_html,
            "minimal" : HTMLAwareEntitySubstitution.substitute_xml,
            None : None
            }
    
        XML_FORMATTERS = {
            "html" : EntitySubstitution.substitute_html,
            "minimal" : EntitySubstitution.substitute_xml,
            None : None
            }

    可以见 https://imgur.com/gallery/VkNUv

    不知道怎么显示不出来这个图片

    回复
    0
  • 取消回复