python - 怎么查看Beautiful Soup的prettify(encoding, formatter="minimal")
巴扎黑
巴扎黑 2017-04-18 10:27:16
0
2
1011
soup=bs(html)
html2 = soup.prettify('utf-8', formatter='minimal')

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

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

巴扎黑
巴扎黑

全部回复(2)
迷茫

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

输出格式化程序

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

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

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

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

至于要找代码:

雷雷

我回答过的问题:Python-QA

伊谢尔伦

看代码...

    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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板